 
  
Dedicated Motion Controllers translate a path description (typically
G-CODE) into signals (typically
Step and Direction) in real time to drivers that then cause
stepper or other motors
to move the axis of a machine. This can be done on a PC via
CNC Applications, but because standard operating
systems are NOT design for real time control, it can be best to use a seperate
embedded motion controller and simply relay
G-CODE or other commands from the main
system.
Common examples are the ubiquitous
Marlin^ / RAMPS
combination for 3D printers, and
grbl^ / shield or
TinyG^ / sheild for
CNC. An ultra low cost opiton is our
BOB Motion Control g-code to
multi-axis step/direction motor driver. These accept G-CODE but have
no other user interface. A program like Universal G-CODE Sender can provide
a minimal interface. They put out step and direction commands via the Pololu
compatible headers. This can be adapted to the PMinMO
standard by our Adapter Cable
In some cases, a PC based CNC application can work closely with the embedded
unit to provide a seamless user interface with GUI controls. For example,
https://www.poscope.com/product/pokeys57cnc/
is a MACH 3 recommended USB Motion
Controller with PMinMO compatible connectors
for direct connection to open source stepper drivers
like the THB6064AH or
Linistepper or servo drivers like
the BOB PID.
Stepping Motion
Profile Motion panning overview. Stepper
motor specific, but with good general information.
3D Line to Stepper Axis Pulses in a
PIC16F Naive motion control
A common language for specifying the desired location and speed of movement
is G-CODE
Also: 
See also:
  - 
    https://planet-cnc.com/hardware/#products-hardware
    Planet CNC USB and USB/Ethernet Motion
    Controllers are PMinMO compatible.
  
- 
    https://www.poscope.com/PoKeys57CNC
    a USB Motion Controller with PMinMO compatible
    connectors for direct connection to open source stepper drivers like the
    THB6064AH or
    Linistepper or servo drivers like
    the BOB PID. Compatible with MACH
    3^ / 4
 
- 
    http://www.fpga4fun.com/CNC.html A series of web page articles
    explaining how to calculate steps for a simple motion plan and generate the
    pulses via an FPGA.+
  
- 
    https://code.google.com/p/gocupi/ Code for Arduino and
    Raspberry Pi with nice acceleration curves and turn prediction. The Arduino
    is only there to provide precise timing for the step and direction pulse
    data produced by the Pi. Motion is smooth and fluid because the entrance
    and exit speed of each movement segment is taken into account. E.g. A 90'
    turn needs a full stop, but a 1' turn doesn't need to slow down at
    all.+
  
- 
    https://github.com/ErikZalm/Marlin/tree/Marlin_v1 This
    RepRap firmware is a mashup between Sprinter, grbl and many original
    parts.+
  
- 
    http://www.hwml.com/LeibRamp.htm
    LeibRamp was developed in 1994 by Aryeh Eiderman and is said to be the "World's
    fastest ramping (motion profile building) algorithm." On this page,
    Eiderman provides an overview of the math involved in calculating pulses
    per timer tick, for slew, and ramp acceleration / deceleration.
 http://www.hwml.com/ is an NXP LPC2136/01
    based USB to 4 axis embedded motion controller in a DB25 backshell.
    $75 from:
 http://www.mcwidgets.com/
 
- 
    http://read.pudn.com/downloads45/sourcecode/embed/151169/Motor.c__.htm
    Demo program for stepper motor control with linear ramps. Hardware: PIC18F252,
    L6219. The discussion of the method and the math behind it may be found here:
    http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/Stepper_Motor_Speed_Profile.pdf+
 
- 
    http://code.google.com/p/cnc-milling-machine/
    Open source, Java G code to intermediate format, PIC firmware 2axis coordiantion
    with seperate Z axis movement. No acceleration.
 
- 
    http://www.planet-cnc.com/index.asp?page=diy
    G code to propriatary format in PC software $100 then by USB to 4 axis motion
    control hardware $15 for the PIC chip, $15 for the PCB and about $15 shipping.
    The PIC firmware does NOT actually process G code.
 
- 
    http://forums.reprap.org/read.php?12,9459 Arduino G code
    to stepper. See user.cpp file.
 +
- 
    https://github.com/simen/grbl Grbl is a free, open source,
    high performance CNC milling controller written in optimized C that will
    run on a straight
    Arduino+
 https://www.synthetos.com/webstore/index.php/assembled-electronics/grblshield-grbl-arduino-diy-cnc-shield.html
    a shield is available
 
- 
    http://pleasantsoftware.com/developer/3d/pleasant-mill/
    Another mill with firmware based on the reprap.
 
- 
    http://www.cnczone.com/forums/open_source_controller_boards/59461-full_cnc_controller.html
 http://www.usinages.com/controleur-autonome-de-cnc-t2415-75.html
 MicroBasic pic18f4620, SD-MMC card, KS0108 graphic LCD. Direct G code to
    movement. Bugs in circles but can be avoided. Clunky source.
 
- 
    http://www.roboticsguy.com/projects/build-a-cheap-diy-cnc-machine
    Very simple design that works for drilling.
 
- 
    http://reprap.soup.io/post/135633178/Smooth-Trajectory-in-CNC-and-3D-Printing
    Some notes about smoothing motion.
| file: /Techref/io/embeddedcncs.htm, 8KB, , updated: 2018/9/26 12:09, local time: 2025/10/31 09:31, 
 
216.73.216.219,10-1-97-123:LOG IN | 
|  | ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://ecomorder.com/techref/io/embeddedcncs.htm"> Firmware / Embedded Microcontroller based Computer Numerical Control</A>
 | 
| Did you find what you needed? | 
|  | Welcome to ecomorder.com! | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.