Smoothie is a free, opensource, high performance and modular G-code interpreter and CNC controller for the LPC17xx micro-controller ( ARM Cortex M3 architecture ). The motion control part is a port of the awesome grbl. The Source code is on GitHub
- Configuring Smoothie : Configuration and use, by module
- Extruder : Control extruders for 3D printing
- Temperaturecontrol : Heat and cool things like hotends and heated beds
- Laser : For cutting
- Endstops : For homing
- Switch : Quickly create custom G-code ⇆ Input/Output mapping without needing to write a custom module, like to control a fan
- TemperatureSwitch : Automatically turn/on a device based on a threshold temperature, useful to control a fan or water pump on a 3D printer hot end
- Touchprobe : Find surfaces and scan objects using a probe
- ZProbe : probe the z height at current XY positions
- Player : Play files from the SD card
- Currentcontrol : Digitally control your stepper motors current
- Configurator : Manipulate configuration using console commands
- Pausebutton and Playled : Interract with the pause subsystem
- Panel : Drive smoothie directly without a host using things like lcd screens, click encoders, and nunchucks
- Motion control : All things related to gcode interpolation, motion and acceleration planning, and step generation
- Using Smoothie : General use
- Troubleshooting : It doesn't work ! What to do.
- MRI : In the particular case smoothie crashes
- Running Smoothie on a Breadboard
Note, Smoothieboards come completely pre-flashed, you do not need to compile or flash the firmware, unless you want to upgrade to a newer version, or to contribute to the code.
Available now : SmoothieBoard, the modular and awesome, smoothie-dedicated CNC controller.
- Powerful ( 100-120Mhz, 32bit ) yet cheap ( available at arduino-like prices ) micro-controller.
- Look-ahead acceleration management, resulting in smooth, jerk-free motion and enabling higher speeds.
- Can be used right now for CNC milling, laser cutting, and 3D printing. Laser engraving in progress.
- Opensource/hardware all-included controller board
- SD-Card allows host free printing, very simple configuration and update
- Composite USB Mass Storage + Serial interface to host.
- Free email support.
- Modular, event driven design, allowing to add functionality easily without modifying the core. See the ModuleExample.
- Designed to support non-Cartesian machines ( rotational axes : wall drawer, SCARA robot, Delta/Parallel robot, Robotic arm, Spherical/Cylindrical robot, etc … ). Currently supported : Cartesian and H-Bot ( CoreXY ), Delta and Feather.
- LPC17xx leaves lots of room for additional functionality.
- The mBed functions and additional libraries are available for easy and fast prototyping. But compiles off-line ( using GCC ), not dependent on the mBed online compiler.
- Heavily commented code
- HowItWorks : Walk-through the inner workings of Smoothie ( with graphics ).
- ModuleExample : Basics of working with Modules in Smoothie ( how to add functionality ).
- Listofevents : List of all Events you can register for.
- Developers-Guide : Information useful to smoothie coders
- LPC1769 pin usage : Documents all the pins used and which are spare
- DebuggingSmoothie : Using the built-in MRI serial debugger
- Eclipse : Using Eclipse IDE to build and debug
- Github : How to submit pull requests for Smoothie
- Third Party Branches : a list of useful branches to smoothie that may be helpful to some but are not included in the main branch
- Smoothie developer IRC forum on IRC in #smoothiedev @ irc.freenode.net