It's 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 exiting 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.
The USB interface connects to a host ( your computer ), and can be used :
- Via it's USB/MSD ( Mass storage ) interface to directly access the SD card in the board ( read, edit, copy/paste files )
- Via it's 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
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
The board comes with a SD card slot containing a 2GB card.
The card is used for :
- The configuration file that the firmware reads at boot time to setup everything
- The firmware file, which you can replace to upgrade the firmware
- A boot gcode file that is executed when the board starts
- Web interfaces for access via the ethernet interface
- A bundle of software and documentation we prepared for you for those days when you don't have Internet access
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 motor drivers
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.
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 it's 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.
Smoothieboard has a main power input that supports from 12 to 24V.
Each mosfet pair must also be powered via it's 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.
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
Oh and by the way, it's all Open Hardware ( CERN OHL and GPL-licensed ).
You can find the Eagle files on GitHub :
- If you are just hunting for part numbers, the bill of materials is also available in *.xls format on GitHub
- Components BOM
- Connectors BOM
You can find the old version of this Smoothieboard v1 page here.