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:

  1. Installing Firmware - Flash V1 firmware to your board
  2. Configuring Smoothie - Set up your machine configuration
  3. 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:

  1. Installing Firmware - Flash V2 firmware to your board
  2. Configuration Guide - Learn V2’s INI-style configuration
  3. 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:

  1. See Editing the Wiki for contribution guidelines
  2. Fork the GitHub repository
  3. Submit a pull request with your improvements

Even small contributions make a huge difference for new users!

Learn More

This is a wiki! If you'd like to improve this page, you can edit it on GitHub.