Welcome to Smoothieware
Smoothieware is an open-source G-code interpreter and CNC control system that turns your computer (or SBC) into a powerful motion controller for 3D printers, laser cutters, CNC mills, pick-and-place machines, and other automated equipment.
This documentation covers both Smoothieware V1 (stable, feature-complete) and Smoothieware V2 (modern redesign with improved architecture).
Quick Start
Select your version to get tailored guidance:
You’re Using Smoothieware V1
V1 is a mature, stable, production-ready firmware for the LPC1769-based Smoothieboard. It’s been refined over years and powers thousands of machines.
Start here:
- Installing Firmware - Flash V1 firmware to your board
- Configuring Smoothie - Set up your machine configuration
- Getting Help - Join the IRC channel or forum
Key resources:
Communication:
You’re Using Smoothieware V2
V2 is a modern redesign with improved architecture, better hardware abstraction, and new features. It runs on modern hardware (LPC1778, LPC1847, ST32F4xx) and is actively developed.
Start here:
- Installing Firmware - Flash V2 firmware to your board
- Configuration Guide - Learn V2’s INI-style configuration
- Getting Help - Join Maker Forums or Discord
Key differences from V1:
- Modern hardware platforms (multiple chip options)
- Improved motion control and kinematics
- Better networking and connectivity
- Active development with new features
- Requires configuration file migration if upgrading from V1
Key resources:
Communication:
- Maker Forums - Most active V2 community
- Discord - Real-time community chat (invite in forums)
- Mailing Lists - Development discussions
- IRC - #smoothiedev @ irc.freenode.net (less active)
About This Documentation
This documentation site covers:
- Getting Started - Installation, configuration, first steps
- Configuration - All settings and options for your version
- Hardware - Board specifications, pinouts, wiring
- Firmware - Flashing and updating your firmware
- Modules - Specialized functionality (temperature control, leveling, etc.)
- G-code Reference - Supported commands and syntax
- Troubleshooting - Common issues and solutions
- Developer Guides - Architecture, development, contributing
Need Help?
V1 Users:
V2 Users:
Version Selection
Use the version selector in the navigation bar to switch between V1 and V2 documentation. This site shows version-specific content based on your selection.
Contributing
This documentation is community-maintained. If you find errors, have suggestions, or want to contribute:
- See Editing the Wiki for contribution guidelines
- Fork the GitHub repository
- Submit a pull request with your improvements
Even small contributions make a huge difference for new users!
Learn More