Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++
Clone or download
Latest commit a555b09 Dec 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
ConfigSamples Update config Dec 10, 2018
FirmwareBin update firmware-latest bins Dec 15, 2018
bootloader add md5sum for bootloader hex Oct 6, 2014
build fix make clean for windows Jan 11, 2017
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 Revert $G so it now sends ok again Dec 15, 2018
.gdbinit Add freespace GDB command to .gdbinit Feb 21, 2013
.gitignore revert .gitignore Feb 15, 2017
.travis.yml Update .travis.yml May 28, 2016 Stating the obvious : creating a code of conduct. Feb 15, 2017
COPYING Added COPYING file Oct 24, 2017 Update Aug 9, 2018 Update Feb 21, 2017
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 fix what happens when we abort the fast-stream Apr 3, 2017
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 Fixed bug where newlines were stripped by accident by putting them ba… Apr 18, 2018 Replace spaces in names with underscores by default, add flag to use … Jun 10, 2018
smoothieware.inf Updated windows .inf file to compatible version Oct 12, 2013
travis_install try using gcc from repo Dec 2, 2015 Update Dec 15, 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