Smoothieware
Smoothie is a free, opensource, high performance and modular G-code interpreter and CNC control system for the powerful SmoothieBoard 32bit controller. It's designed to be very user-friendly and hacker-friendly. The Source code is on GitHub. ヾ(❀◦◡◦)彡
The Smoothie project is always looking for help. Whatever your skills are, there are things you can do to improve the project with the other volunteers. If you feel that you could give us some of your free time, please contact us, help and working together is what has made this project so neat, advanced and precious over the years, and is very welcome.
Documentation
Step by step guides
Firmware documentation
- Getting Started: Complete guide to setting up your Smoothieboard from unboxing to first operation
- Basics: Fundamental concepts, terminology, and technical background
- Glossary: Definitions of common terms used in CNC and 3D printing
- Migrating: Migration guides from other firmware
- From GRBL: Porting your GRBL configuration to Smoothie
- From Marlin: Porting your Marlin configuration to Smoothie
- Configuring Smoothie: Configuration and use, by module
- List of all configuration options
- Motion control: All things related to gcode interpolation, motion and acceleration planning, and step generation
- Arm Solutions: Cartesian, Delta, Hbot, Core-XY, Rotary Delta, Morgan Scara
- 6axis: Using A, B and C axes, for 4, 5 or 6 axis motion.
- Grbl mode: Using Smoothie in CNC-specific mode instead of 3D printing mode
- Tools
- Extruder: Control extruders for 3D printing
- Temperaturecontrol: Heat and cool things like hotends and heated beds
- Laser: For cutting
- Endstops: For homing
- Spindle: Control your spindle motor with G-code
- Switch: Quickly create custom G-code ⇆ Input/Output mapping without needing to write a custom module, like to control a fan
- TemperatureSwitch: Automatically turn/on a device based on a threshold temperature
- Drillingcycles: Canned drilling cycles support
- Filament-detector: Use an encoder to check filament is pushed correctly
Lathe: Spindle-synchronized turning and threading operations
ELS: Electronic Leadscrew with TM1638 display interface
- ZProbe: For probing, levelling, and automated calibration
- Utilities
- Smoopi: New and Recommended drive Smoothie using a color touch screen on Raspberry Pi
- Player: Play files from the SD card
- Currentcontrol: Digitally control your stepper motors current
- AdvancedMotorDriver: For controlling SPI based stepper motor controllers like DRV8711 and TMC26X
- Configurator: Manipulate configuration using console commands
- Kill Button and Play LED: S/W based kill and play activity LED
- Panel: Drive smoothie directly without a host using monochrome lcd screens and click encoders
Jogger: Joystick-based jogging control for manual machine movement
Joystick: Analog input from joysticks, sliders, and knobs
Button Box: Programmable button panel for macros and machine control
MPG: Manual Pulse Generator hand wheels for axis jogging
- on_boot.gcode File: Execute G-codes every time the board boots
- Using Smoothie: General firmware use
- Troubleshooting: It doesn’t work (ノo益o)ノ彡┻━┻ ! What to do ∩(︶▽︶)∩.
- Error Messages Reference: Complete documentation of all firmware error messages
- MRI: An amazing tool to help smoothie firmware developers and hackers debug issues using a proper debugging workflow.
- Contributing: We need your help!
- Todo: List of the things that are being worked on in the project.
- Editing the Wiki: How to edit this documentation and improve it.
The firmware.bin file
Note, Smoothieboards come completely pre-flashed, you do not need to compile or flash the firmware, unless you want to upgrade to a newer version, or to contribute to the code.
More: Windows Drivers, Linux Drivers, Mac Drivers, New Features, Gallery
Hardware documentation
Available now: SmoothieBoard, the modular and awesome, smoothie-dedicated CNC controller.
Smoothieboard v1:
Smoothieboard v2:
Getting a Smoothieboard
Get a Smoothieboard here
Features
For users
For hackers
- Modular, event-driven design, allowing to add functionality easily without modifying the core. See the ModuleExample
- Designed to support non-Cartesian machines
- V1 (LPC1769) leaves lots of room for additional functionality. V2 (STM32H745) has significantly more resources.
- 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
- Strict process for acceptance of new code, to keep the project at high quality
- Heavily commented code
Support the Project
The Smoothie firmware is free and Open-Source software developed by awesome volunteers with the help of the community.
If you find this software useful, want to say thanks and encourage development, please consider a donation:
Donate via PayPal
It really helps.
Developer documentation
Current edge build status: 
Reviews
Watch a review