Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++
C++ C HTML Makefile Shell Ruby Other
Latest commit caebc26 Oct 25, 2016 @wolfmanjm wolfmanjm committed on GitHub Merge pull request #1050 from michael-moore0/feature/extruder-display
modified watch screen to display extruder when printing.
Failed to load latest commit information.
ConfigSamples added example configuration for Extruder Display. Oct 25, 2016
FirmwareBin update firmware.bin Oct 14, 2016
bootloader add md5sum for bootloader hex Oct 6, 2014
build define -DCNC if a CNC build May 13, 2016
mbed mbed: fix rename to work correctly (newname and oldname must have the… Feb 10, 2015
mri Update to GCC4.8 Sep 14, 2014
src added config option for extruder display on watch screen. Oct 25, 2016
.gdbinit Add freespace GDB command to .gdbinit Feb 21, 2013
.gitignore Update .gitignore May 31, 2016
.travis.yml Update .travis.yml May 28, 2016 Making it clear issues are for issue ( Duh. ) Sep 24, 2016 Create Sep 8, 2016
README.creole Fix broken link in README ( Sep 24, 2016
Rakefile allow for a file in src that will be used for the… Apr 24, 2016 provide checksum script to easily generate config checksum values Jan 2, 2013
linux_install Update to GCC4.8 Sep 14, 2014
mac_install Fixed and fully tested mac install from path containing spaces Oct 14, 2015
makefile Use adam greens suggestion to simplify the way the git version string… Jun 7, 2013
rakefile.defaults.example Allow test modules to be specifed in the rakefile.defaults file Sep 13, 2015 Merge Network code with webserver etc Dec 22, 2013 Merge Network code with webserver etc Dec 22, 2013
smoothieware.inf Updated windows .inf file to compatible version Oct 12, 2013
travis_install try using gcc from repo Dec 2, 2015 Update Aug 30, 2016
win_install.cmd adamgr fix to win_install.cmd Sep 14, 2014


Current build status:


Smoothie is a free, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++ for the LPC17xx micro-controller ( ARM Cortex M3 architecture ). It will run on a mBed, a LPCXpresso, a SmoothieBoard, R2C2 or any other LPC17xx-based board. The motion control part is a port of the awesome grbl.

Documentation can be found here :

NOTE it is not necessary to build Smoothie yourself unless you want to. prebuilt binaries are available here: Nightly builds and here: recent stable build

Quick Start

These are the quick steps to get Smoothie dependencies installed on your computer:

  • Pull down a clone of the Smoothie github project to your local machine.
  • In the root subdirectory of the cloned Smoothie project, there are install scripts for the supported platforms. Run the install script appropriate for your platform:
    • Windows: win_install.cmd
    • OS X: mac_install
    • Linux: linux_install
  • You can then run the BuildShell script which will be created during the install to properly configure the PATH environment variable to point to the required version of GCC for ARM which was just installed on your machine. You may want to edit this script to further customize your development environment.

Building Smoothie

Follow this guide...

In short... From a shell, switch into the root Smoothie project directory and run:

make clean
make all

To upload you can do

make upload

if you have dfu-util installed.

Alternatively copy the file LPC1768/main.bin to the sdcard calling it firmware.bin and reset.

Filing issues (for bugs ONLY)

Please follow this guide


Please take a look at : 

Contributions very welcome !


The Smoothie firmware is free software developed by volunteers. If you find this software useful, want to say thanks and encourage development, please consider a Donation


Smoothieware is released under the GNU GPL v3, which you can find at