Smoothie is a free, opensource, high performance and modular G-code interpreter and CNC controller for the LPC17xx micro-controller ( ARM Cortex M3 architecture ). It currently runs on LPCXpressos, SmoothieBoards and SimpleCortexes. Porting is ongoing to 4pi ( SAM3U ) and STM32F4. The motion control part is a port of the awesome grbl. The Source code is on GitHub
- Getting Smoothie
- Flashing Smoothie firmware
- Flashing the Bootloader - optional
- Compiling Smoothie - optional
- 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
- Touchprobe : Find surfaces and scan objects using a probe
- ZProbe : probe the z height at current XY positions
- Player : Play
- 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
Available now : SmoothieBoard, the all new, modular and awesome, smoothie-dedicated CNC controller.
posted on 20 Jan 2014 22:38
Smoothie sited driving an h-bot on Hackaday
posted on 05 Apr 2013 16:55
Smoothie ported to online mbed compiler
posted on 31 Jul 2012 21:17
posted on 20 Sep 2011 20:28
A4983 on a breadboard
posted on 14 Feb 2011 14:27
It's a very nice chip, it has 1/16 microstepping, can drive up to 2A, and has the simple step/direction interface.
Most common way to use it is via the Pololu Driver Carrier, but in the case of Smoothie, we want all of the 4 drivers directly on the PCB, so that they can share the heatsink/fan, and also share some components. (read more…)
- 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/Parralel 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
Smoothie in action
More in the gallery