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.

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

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

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