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


» Step by step 3D printer guide

In detail

Available now : SmoothieBoard, the all new, modular and awesome, smoothie-dedicated CNC controller.

More : Windows Drivers, Linux Drivers, New Features, Gallery, Smoothieboard Beta Guide


config: planner_queue_size
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

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…)

» Get a Smoothieboard


For users

  • 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.

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 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

Developer documentation

Smoothie in action

More in the gallery

Site List of All Pages.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License