Smoothie is a free, opensource, high performance and modular G-code interpreter and CNC controller written in Object-Oriented C++ for the LPC17xx micro-controller ( ARM Cortex M3 architecture ). It currently runs on mBeds, LPCXpressos, SmoothieBoards and SimpleCortexes. Porting is ongoing to 4pi ( SAM3U ) and STM32F4. The motion control part is a port of the awesome grbl.
Status
Smoothie is under active development, You can find the source code at GitHub.
Documentation
- Getting Smoothie
- Smoothieboard Beta Guide
- Flashing the Bootloader
- Compiling Smoothie
- Configuring Smoothie
- Using Smoothie
- Running Smoothie on a Breadboard
- What to do in case smoothie crashes
Available now : SmoothieBoard, the all new, modular and awesome, smoothie-dedicated CNC controller.
More : Windows Drivers, Linux Drivers, New Features, Gallery
Features
For users
- Powerful ( 120Mhz, 32bit ) yet cheap ( available at arduino-like prices ) micro-controller.
- Linear and rotational ( arcs ) motion.
- 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
- Composite USB Mass Storage + Serial interface to host
- Free email support.
For developers
- 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 is beta status.
- 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
Todo List
- Endstop module
- Web Interface
- Potentiometer live tweak module
- Better error handling
- Implement better acceleration
- Port the few gcodes that have not been ported from grbl
- Support more Cortex-M3 devices ( LPC17xx, SAM3U, STM32Fx )
- Backlach compensation
- What you'd like.
Developer documentation
- 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
- DebuggingSmoothie : Using the built-in MRI serial debugger
- Eclipse : Using Eclipse IDE to build and debug
Latest blog posts
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
GitHub Release
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…)
MCP4331/4351 on a breadboard
posted on 13 Feb 2011 19:32
That will allow direct control of the current settings from the firmware / via serial commands, and automatic benchmarking of the current settings. (read more…)