Smoothieboard v1

Smoothieboard is an Open-Source Hardware CNC controller designed by the Smoothie community to run the Smoothieware firmware.

Its main design goals are :

  • Uses as powerful hardware as possible at the time
  • Can control several machine types ( 3D printers, lasers, CNC mills/routers )
  • Easy to setup and use
  • Easy to do weird, new and exciting things with
  • Easy to develop for

This page is for v1, the first version of the Smoothieboard hardware.

To find out where to purchase a Smoothieboard, see Getting Smoothieboard.


The board uses the LPC1769 microcontroller, an ARM Cortex-M3 chip :

  • 32-bit architecture
  • 120Mhz frequency
  • 512kB ROM ( program space )
  • 64kB RAM ( execution memory )

Compared to lots of other boards, this allows for faster/smoother movement, more features and more extensibility.

The board runs the Smoothie firmware, which has been designed and perfected to take best advantage of the hardware, to make the board easy to configure and use, and to add cool features.

See Firmware.


The USB interface connects to a host ( your computer ), and can be used :

  • Via its USB/MSD ( Mass storage ) interface to directly access the SD card in the board ( read, edit, copy/paste files )
  • Via its USB/CDC ( Serial ) interface to send commands ( like Gcodes ) for execution, for example using host software

This allows for pretty neat things like :

  • Editing the configuration without having to edit source file or reflash the firmware
  • Dropping Gcode files to the board and executing them
  • Dropping firmware upgrade files to the board for easy flashing

See USB.


The Ethernet interface allows you to connect the board to your local network ( LAN ).

You can then use a different protocols to talk to the board :

  • HTTP to use web interfaces hosted on the board, or via using host software that supports this
  • Telnet to send commands via a serial interface, or via using host software that supports this

See Network.

SD Card

The board comes with a SD card slot containing a 2GB card.

The card is used for :

You can also add Gcode files to it and then play them from the SD card, which is useful for files so dense that streaming them to the board isn't convenient.

See SD Card.

Stepper motors are used to move axes on your machine, or turn extruders.

You plug them into stepper motor drivers on your Smoothieboard.

The drivers on the v1 board are A5984 drivers which offer :

  • 1/32 ( quieter ) micro-stepping
  • Several protections making them sturdier
  • Digital ( configuration-file set ) current values, no potentiometer manipulation
  • Great heat-sinking allowing use of their full 2A current rating, for more torque/speed

The Smoothieboard 3X has 3 drivers, the 4X has 4 drivers, and the 5X has 5 drivers, thus their names.

See Current Control

Mosfets are transistors for high loads. They are essentially digitally controlled “switches”.

Your microcontroller can choose if they are let electricity pass or not. This is useful to control heating elements ( like hotends and heated beds ), fans, and other power-oriented peripherals.

Smoothieboard v1 has two types of Mosfets :

  • Small ones for fans, hotends, and other low loads ( 5A, up to 24V )
  • Large ones for heated beds, powerful hotends, and other high loads ( 12A, up to 24V )

Smoothieboard 3X has two small mosfets, Smoothieboard 4X has two small and two big mosfets, and Smoothieboard 5X has three small and three big mosfets.

This is more than you need, which is nice if you ever break one, and also means a Smoothieboard 4X can be used for dual extrusion just by adding an external stepper driver, and a Smoothieboard 5X can be used for triple extrusion the same way, because you already have extra thermistor inputs and mosfets.

See Mosfets.

All v1 boards come with 4 temperature reading inputs.

These can be used to read the resistance of thermistors in your hotend or heated bed, inferring from it its current temperature, and from this the temperature control module can regulate the temperature by choosing whether to heat it or not.

See Temperature Control.

The board has 6 endstop inputs. These can be used for limit switches at the end of the axes, used to limit motion within the work area, or for homing to origin.

They can also be used to connect probes, for example for bed leveling or automated machine calibration.

See Endstops and Probes.

Smoothieboard has a main power input that supports from 12 to 24V.

Each mosfet pair must also be powered via its own, separate input, supporting from 12 to 24V.

The board's logic power can be provided via USB, via the 5V power input, or by adding the voltage regulator to the board. The board will automatically select the best power input amongst those you provide.

See Main power input and Logic power.

The board is designed to make it as easy as possible to add things to it.

As such, most pins are broken out to connectors, and great care is taken to make sure extending the board is as easy as possible

See Pinout.

Oh and by the way, it's all Open Hardware ( CERN OHL and GPL-licensed ).

You can find the Eagle files on GitHub :

You can find the old version of this Smoothieboard v1 page here.