Motion Control

Created by: Lester Caine, Last modification: 07 Dec 2018 (22:23 UTC)

Having been looking at the options for a 3D printer, the range of controllers seem a little diverse, but in reality the progression of development is a tidy timeline. Having worked with PC based motion controllers and breakout boards to discrete stepper drivers, the "all-in-one" approach is something I'm not used to, but the plug on stepper driver format seems a little more practical to the single board solution just as the problems we had with the 3 and 4 axis drivers for the mills. The only niggle with these small footprint drivers is ensuring proper cooling when using higher currents.

Having been using Mach3 for so long to control the mill, I have not spent as much time playing with alternatives. LinuxCNC is the obvious open source motion control software for mills and lathes, and also lists running 3D printers using it. There should be no problem in creating configurations covering all of the requirements of a 3D printer as the only additions are for temperature management of the heads and bed. Running the extruder is a little different to some of the other machine operations and seems to be the area where LinuxCNC is weak. There are no active links I can find on the website supporting 3D configurations. In addition, the user interfaces seems a little lacking still which has always been the criticism as a replacement for Mach3 but I know that I need to review just where the current releases are here.

klipper seems to be the current software targeting 3D printers directly and the reverse question applies, can this be configured to manage a conventional mill or lathe? It also has a poor user interface, but OctoPrint is one option which can manage a number of devices over a network which is useful for a printer which will be running jobs for hours. Completing the circle, the obvious question is if OctoPrint could be adapted to act as a front end for LinuxCNC as well.

Also in the frame is Machinekit. This is a port of LinuxCNC, but also adds facilities and has gcode instructions for managing printer accessories. Nothing is easy and I can understand why taking a fully functional device is atractive to people. They work so why does one need to replace them. The main question seems to be the actual speed of the printer and the early controllers are only 8bit processors and there is a large stock of these older machines sitting in warehouses in the UK. Hopefully the price of this stock will fall further so adding a faster more modern controller makes perfect sense as a later upgrade. That and catering for a situation where Mach3 is no longer working on available computers. It looks as if MachineKit may be the best source of information currently and I've just found a nice comparison listing of Hardware Capes on the Machinekit Blog which save me having to construct one myself except only one of the options actually seems to be available currently!

Available Capes

CRAMPS (BeagleBone Black)

RADDS 32-Bit Controller (RepRap Arduino-Due Driver Shield)


Slicer Software
3D Printer
3D Printer Parts


klipper - Forum GitHub Documentation - BBB Configuration BBB Configuration Cribsheet

MachineKit - Forum GitHub Repo

RepRap - Forum Documentation

OctoPrint - Website Github | OctoPi - Github  

LinuxCNC - Website Github Download