Smoothieboard v1 has been in production since 2013. It’s a proven, reliable 32-bit CNC controller that works with 3D printers, laser cutters, CNC mills, and more. The v1 is still manufactured and will continue alongside the newer v2.
Smoothieboard v1 comes in three variants based on the number of stepper drivers:
Variant | Stepper Drivers | Small MOSFETs | Large MOSFETs | Typical Use |
---|---|---|---|---|
3X | 3 | 2 | 0 | Basic 3D printers, simple CNC |
4X | 4 | 2 | 2 | Dual-extruder printers, 4-axis CNC |
5X | 5 | 3 | 3 | Multi-extruder, 5-axis machines |
All variants share the same microcontroller, connectivity options, and 4 thermistor inputs. The main differences are driver count and MOSFET outputs.
Component | Specification |
---|---|
Microcontroller | NXP LPC1769 |
Architecture | ARM Cortex-M3 (32-bit) |
Clock Speed | 120 MHz |
Flash Memory | 512 kB |
RAM | 64 kB |
Floating Point | Software emulation (no hardware FPU) |
Package Type | LQFP |
Operating Voltage | 3.3V (logic) |
This was a significant upgrade from 8-bit boards when launched in 2013. The 32-bit processor provides smoother motion planning, higher step rates, and room for more complex features.
The LPC1769 runs at 120MHz which gives it plenty of headroom for advanced motion planning. The motion planner does look-ahead across multiple move commands to calculate smooth acceleration and deceleration curves. This means cleaner prints, smoother cuts, and less vibration compared to simpler 8-bit boards that often jerk between moves.
Step generation is handled by hardware timers for precise timing with minimal jitter. The board can handle high step rates without the processor breaking a sweat - you’ll hit mechanical limits of your machine long before you hit processor limits.
Specification | Value |
---|---|
Driver IC | Allegro A5984 |
Driver Type | Bipolar stepper motor driver |
Maximum Current | 2A continuous per driver |
Maximum Voltage | 35V |
Microstepping | 1/1, 1/2, 1/4, 1/8, 1/16, 1/32 |
Current Control | Digital (set in config file) |
Thermal Performance | Full 2A capable with good heat-sinking |
Protection | Over-current, over-temperature, short-circuit |
Motor current is set in the configuration file, not with potentiometers. This is one of the nice things about Smoothieboards - no fiddling with tiny potentiometers with a screwdriver. Just edit a text file:
alpha_current 1.5 # X axis motor current in Amps
beta_current 1.5 # Y axis motor current
gamma_current 1.5 # Z axis motor current
delta_current 1.5 # Extruder motor current
Typical values range from 0.5A for small motors to 2.0A for larger NEMA 17 motors. Check your motor’s datasheet for the rated current. You want to set it to the motor’s rated current, or slightly below. Setting it too high won’t make your motors stronger - it’ll just make them hotter.
Set per-driver in the config file. Most users run 1/16 or 1/32 for a balance of smoothness and performance:
microseconds 16 # 1/16 microstepping
Higher microstepping (1/32) is quieter but may reduce high-speed performance slightly. The higher the microstepping, the more steps the processor needs to send for the same movement, which can become a bottleneck at very high speeds.
Step, direction, and enable pins are broken out for all drivers on headers. This means you can connect external drivers if you need more than 5 axes or higher current capability. This is common for large CNC machines with big NEMA 23 or NEMA 34 motors that need 4A or more, or for multi-extruder 3D printers.
The external driver interface is standard step/direction, compatible with most external driver boards including Gecko drives, TB6600, DM542, and similar.
Specification | Value |
---|---|
Type | ZXMN4A06 (SMT) |
Current Rating | 5A continuous |
Voltage Rating | 24V maximum |
Typical Use | Hotends (40-50W), fans (2-5W) |
The 3X has 2 small MOSFETs, the 4X has 2, and the 5X has 3.
Specification | Value |
---|---|
Type | AOT240L (through-hole) |
Current Rating | 12A continuous |
Voltage Rating | 24V maximum |
Typical Use | Heated beds (100-300W) |
The 3X has no large MOSFETs, the 4X has 2, and the 5X has 3.
All MOSFETs are PWM-capable for precise temperature control. The PWM frequency is configurable in the firmware. Most heaters work well with the default frequency, but some SSRs may need adjustment.
Each MOSFET output includes a flyback diode for protection against inductive loads. These diodes protect the MOSFET from voltage spikes when switching inductive loads like fans or relays.
The firmware includes thermal runaway protection - if a temperature sensor reads too high, too low, or doesn’t change when it should, the firmware will shut off the heater and sound an alarm. This is a critical safety feature that can prevent fires.
You can also configure minimum and maximum temperature limits per heater in the config file.
For more details on MOSFET usage, see the MOSFET documentation and temperature control guide.
All variants have 4 thermistor inputs:
Specification | Value |
---|---|
Number of Inputs | 4 (all variants) |
Type | Thermistor (NTC) |
ADC Resolution | 12-bit (4096 values) |
Voltage Range | 0-3.3V via voltage divider |
Temperature Range | -50°C to +300°C (thermistor-dependent) |
Accuracy | ±1-2°C typical |
Supported thermistor types include:
Thermistors connect via 3-pin headers (Signal, VCC, GND). The on-board pull-up resistor is typically 4.7kΩ. If you’re using a different thermistor type, you may need to adjust the configuration to match.
The 12-bit ADC gives you 4096 discrete values across the 0-3.3V range, which translates to good temperature resolution. Combined with proper PID tuning, you can typically hold hotend temperatures within 1-2°C of the target.
For more on temperature control, see the temperature control module documentation.
All variants have 6 endstop inputs:
Input | Label | Typical Use |
---|---|---|
1 | X min | X-axis homing |
2 | X max | X-axis limit (optional) |
3 | Y min | Y-axis homing |
4 | Y max | Y-axis limit (optional) |
5 | Z min | Z-axis homing or Z-probe |
6 | Z max | Z-axis limit (optional) |
Endstops connect via 3-pin headers (Signal, VCC, GND). They can be configured as normally-open or normally-closed, and the logic can be inverted in software. This flexibility means you can use just about any type of switch or sensor.
The inputs are 3.3V or 5V tolerant, and you can configure pull-ups or pull-downs in firmware. This means you can directly connect most mechanical switches, optical sensors, or Hall-effect sensors without extra circuitry.
Mechanical Switches:
Optical Endstops:
Magnetic Sensors:
Any endstop input can be used as a Z-probe for auto-bed leveling. Supported probe types include:
The probe repeatability depends mostly on the probe type and your mechanical setup. A good BLTouch or well-built mechanical probe can achieve repeatability better than 0.01mm.
See the Z-probe guide and leveling strategy documentation for details.
Specification | Value |
---|---|
Standard | USB 2.0 |
Type | Composite Device |
Functions | MSD (Mass Storage) + CDC (Serial) |
Connector | USB Type B |
Cable | Standard USB A-to-B cable |
USB Mass Storage (MSD): When you connect the board to a computer via USB, the SD card shows up as a USB drive. You can drag and drop G-code files, edit the config file directly, copy over a new firmware binary - all without needing any special software. This is incredibly convenient for configuration and file management.
USB Serial (CDC): The board also appears as a virtual COM port. This is what host software uses to send G-code commands in real-time. Compatible with Pronterface, Repetier-Host, OctoPrint, and pretty much any software that can talk to a serial port.
Baud rate is typically 115200 but this is configurable.
Specification | Value |
---|---|
Standard | 10/100 Mbps Ethernet |
Connector | RJ45 |
PHY | On-board |
Auto-negotiation | Yes |
Availability | Optional on 3X/4X, standard on 5XC |
The Ethernet interface is one of the standout features of Smoothieboard. Most other CNC controllers don’t have built-in networking. You get several protocols:
HTTP (Port 80): The board can host a web interface served from files on the SD card. You access it by typing the board’s IP address into a web browser. From the web interface you can:
The web interface runs entirely on the board - no external server needed. Just put the HTML/CSS/JavaScript files on the SD card and the board serves them.
Telnet (Port 23, configurable): Telnet lets you send G-code commands over the network. It’s like USB serial, but over Ethernet. This is useful for network-aware host software or custom scripts. Multiple concurrent Telnet connections are supported, so you can have several clients connected at once.
Simple FTP (Port 115): This is Simple File Transfer Protocol (not to be confused with SFTP which is SSH File Transfer Protocol). It runs on port 115 and lets you upload/download files to the SD card. This is a legacy protocol and only works with specific FTP clients configured for this protocol variant.
Optional: 9P/Styx: Some firmware variants support the 9P (Plan 9 Filesystem Protocol) or Styx protocol. This lets you mount the SD card as a network filesystem on your computer. It’s an advanced feature that requires a 9P client, but it’s pretty neat if you want your SD card to appear as a network drive.
Network Configuration: You can configure the network settings (DHCP or static IP) in the config file. Some firmware variants support mDNS/Bonjour for hostname resolution, so you can access the board by name instead of IP address.
For more details, see the network module documentation.
Specification | Value |
---|---|
Interface | SPI (Serial Peripheral Interface) |
Slot Type | MicroSD (some variants use full-size SD) |
Card Included | 2GB MicroSD typical |
Maximum Capacity | 32GB (SDHC) recommended |
File System | FAT32 |
Read Speed | ~400-500 kB/s (limited by SPI) |
The SD card is the brains of the configuration and file storage. It holds:
config.txt - This is the main configuration file where all your machine settings live. It’s a plain text file with a simple syntax. Change any setting, save the file, reboot the board, and your changes take effect. No firmware recompile needed.
firmware.bin - When you want to update the firmware, you drop a firmware.bin
file on the SD card. When the board boots and sees this file, it automatically flashes the new firmware and deletes the file. Easy firmware updates without needing a programmer or special software.
G-code files - Your print/cut/mill files live here. The board can play them directly from the SD card using the play
command or the M24
G-code.
Web interface files - If you’re using the Ethernet features, the HTML/CSS/JavaScript for the web interface lives here.
Documentation - Some SD cards come with documentation bundles pre-loaded.
Use a good quality SD card. Cheap cards can be unreliable and cause weird issues. Format as FAT32 (not exFAT or NTFS). Cards up to 32GB work fine - larger cards might work but aren’t officially supported.
Specification | Value |
---|---|
Voltage Range | 12-24V DC |
Recommended | 24V for better performance |
Typical Current | 5-15A (depends on motors and usage) |
Peak Current | Up to 20A+ (all motors moving at high current) |
Connector Options | Screw terminal, Molex, power jack |
24V is better than 12V for stepper motors. At higher voltage, motors can reach higher speeds and they run cooler at the same power level because they draw less current. The only downside is you might need different heaters and fans rated for 24V instead of 12V.
Each MOSFET group needs separate 12-24V power:
Small MOSFETs (Hotends, Fans):
Large MOSFETs (Heated Beds):
You can use the same voltage for all power inputs, or mix voltages (e.g., 12V bed, 24V hotend) if you have a specific reason. See the power input documentation for wiring details.
The board needs 5V for its logic circuits:
Option 1: USB Power
Option 2: External 5V
Option 3: On-Board Regulator (Add-On)
The board automatically selects the best 5V source from whatever’s available (USB, external input, or on-board regulator). It won’t back-feed power between sources.
Here’s a typical 3D printer with 5 motors running on 24V:
Total: ~442W, about 18A @ 24V
For this setup, you’d want a 24V power supply rated for at least 25A (600W) to have some headroom. Never run a power supply at 100% capacity continuously - you want at least 20-30% headroom for longevity and safety.
Specification | Value |
---|---|
Dimensions | 129mm × 105mm (5.08” × 4.13”) |
Mounting Holes | 4 corners, M3 screws |
Mounting Hole Diameter | 3mm |
PCB Thickness | 1.6mm (standard) |
The board fits in most standard electronics enclosures designed for RepRap electronics. The mounting holes use standard spacing.
Connectors:
Specification | Value |
---|---|
Operating Temperature | 0°C to +50°C (ambient) |
Storage Temperature | -20°C to +70°C |
Humidity | 20-80% RH (non-condensing) |
Cooling | Passive (heatsinks, natural convection) |
The stepper drivers have heatsinks and they do get warm under load. In an enclosed space, consider adding a small fan for active cooling. The board will work passively cooled in open air at typical room temperatures, but enclosed electronics boxes can get hot.
Don’t run the board in condensing humidity or anywhere it might get wet. These are not weatherproof.
Smoothieware V1:
Motion Control: The motion control system uses an advanced look-ahead planner. When you send a bunch of G-code moves, the firmware looks ahead at upcoming moves and plans smooth acceleration and deceleration curves that flow from one move to the next. This is what gives you smooth prints and cuts without the “jerky” motion you get from simpler controllers.
Jerk control limits how fast the speed can change, which minimizes vibrations and ringing in your prints. You can configure acceleration and max speed per axis.
G-Code Interpretation: The firmware understands standard RepRap/NIST G-code. There’s also a GRBL-mode toggle for CNC-focused G-code compatibility. Laser-specific extensions let you control laser power and use special raster modes for image engraving. Full support for 3D printer M-codes (temperature control, fan control, etc.).
Temperature Control: PID control for hotends gives you stable temperature with minimal overshoot. You can use PID or bang-bang control for heated beds (bang-bang is simpler and works fine for high thermal mass items like beds). PID parameters are configurable per heater. Thermal runaway protection will shut down heaters if something goes wrong. You can set up pre-heat sequences, configure multiple zones, and use multiple temperature sensors.
Modular Architecture: Smoothieware is built from modules. Each module handles a specific function:
And many more. Each module can be enabled or disabled in the config file. This keeps the firmware flexible - you only load what you need.
All configuration lives in config.txt
on the SD card. It’s a plain text file with a simple syntax:
# This is a comment
option_name value # value for this option
Human-readable, well-documented, lots of examples available for different machine types. Need to change something? Edit the file, save it, reboot the board. Done. No recompiling firmware, no uploading hex files, no fiddling with Arduino IDE.
The official documentation has comprehensive config file guides and example configs for common machine types (Prusa i3, CoreXY, Delta printers, laser cutters, CNC mills, etc.).
Updating firmware is stupidly simple:
firmware.bin
from the Smoothieware releasesNo programmer needed, no special software, no command-line tools. Just drag and drop.
Tested and working:
Most software that can talk to a serial port will work. The board responds to standard G-code commands.
Cartesian (X/Y/Z): The most common type. Prusa i3 style, classic Mendel, custom builds - they all work. CoreXY kinematics are fully supported (where X and Y motors work together to move the toolhead). H-Bot kinematics work too.
For single extruder, you only need a 3X board. For dual extrusion you need a 4X (or 3X with external driver). For three or more extruders you need a 5X or external drivers.
Delta Printers: Full support for linear delta kinematics (Kossel, Rostock, and similar). The firmware handles all the trigonometry to convert Cartesian coordinates to delta motor positions. You configure your delta radius, rod length, and other parameters in the config file. Delta calibration tools are built into the firmware.
Extruder Types: Works with both Bowden and direct-drive extruders. The firmware has acceleration matching for extruders - when the toolhead slows down, the extruder slows down proportionally. This prevents blobbing and stringing.
CO2 Lasers: The K40 laser cutter is a super popular upgrade path - replace the awful stock controller with a Smoothieboard and suddenly you have a real machine. Works with larger CO2 lasers too. PWM controls laser power, and you can configure laser safety interlocks.
Diode Lasers: 5W to 40W diode laser modules work great. The firmware supports both raster engraving (like printing an image) and vector cutting (following paths).
Laser-Specific Features:
Machine Types:
Spindle Control: Use a MOSFET output to control spindle speed via PWM, or just on/off. Spindle speed override is supported. Many people use VFD (Variable Frequency Drive) spindles controlled via PWM signal from the board.
CNC Features:
People have built SMT pick-and-place machines with Smoothieboards. The 4X or 5X works well - X, Y, Z, and rotation axis. Use MOSFET outputs to control vacuum pumps. Custom G-code handles pick-and-place operations.
The beauty of configurable firmware is you can adapt it to weird applications.
Broken Out Pins:
Voltage Levels: GPIO pins are 3.3V logic. Some pins are 5V tolerant (check the pinout diagram) but don’t assume - check first.
Expansion Use Cases:
See the GPIO documentation for pinouts and details.
Item | Value |
---|---|
Certification Number | FR000001 |
Date | 2016 |
Significance | First French OSHWA certification |
Verify | https://certification.oshwa.org/fr000001.html |
This means the hardware is certified open-source. Full design files are available, anyone can manufacture it, modify it, sell it. True open hardware.
Hardware License: CERN Open Hardware License (OHL)
Firmware License: GNU General Public License (GPL)
Repositories:
Available Files:
Community Contributions: The open-source nature has led to interesting community projects. People have designed expansion boards, alternative layouts, and derivative designs. The Cohesion3D boards (designed for lasers) are based on Smoothieboard designs. This is the beauty of open hardware - the community can build on the work.
Item | Status |
---|---|
Production | Active (2013-Present) |
Availability | In stock at multiple vendors |
Lead Time | Usually immediate to 1-2 weeks |
End of Life | Not planned (v1 continues alongside v2) |
The v1 isn’t going away when v2 is fully available. It’s a different market segment - v1 is the affordable option, v2 is the high-end option.
Official Source:
Other Vendors: Various electronics distributors stock Smoothieboards. Check the official documentation for current vendor list.
Variant | Typical Price | Notes |
---|---|---|
3X | $100-120 | Entry-level, 3 drivers, 2 small MOSFETs |
4X | $120-140 | Mid-range, 4 drivers, 2 large MOSFETs |
5X | $130-150 | High-end, 5 drivers, 3 large MOSFETs |
5XC | $140-160 | 5X with Ethernet standard |
Prices vary by vendor, region, and current supply. Authentic boards cost more than clones but you get quality components, testing, and support.
About Clones: There are clones out there. Some are fine, some are garbage. Problems with clones include: wrong components, poor quality control, no testing, no support, no guarantee they’ll work. Buy from reputable sources.
In the box (typically):
Not included (buy separately):
You’re buying the board and basic software. Everything else is on you.
The documentation at smoothieware.org is comprehensive. Covers:
The docs are a wiki, so community members contribute and improve them over time.
Forums:
Chat:
Social Media:
If you have configuration issues:
If you have hardware problems:
If you find a firmware bug:
The community is generally helpful. Don’t ask “is anyone there?” - just ask your question with details. Someone will usually respond within a few hours.
Smoothieboard Advantages:
Smoothieboard Disadvantages:
If you’re building a budget machine and every dollar counts, 8-bit is fine. If you want better performance and nicer features, 32-bit is worth it.
Every board has limitations. Here are the ones you should know about:
SD Card Speed (SPI Interface): The SPI interface limits SD card performance to about 400-500 kB/s. This is fine for most G-code files. Where you’ll notice it:
Workaround: Stream via USB or Ethernet for complex files. Or upgrade to v2 which has SDIO (much faster).
No Hardware FPU: The Cortex-M3 doesn’t have a hardware floating-point unit. Complex math uses software emulation which is slower. In practice this rarely matters - you’ll hit other limits first. But it’s worth knowing about if you’re doing custom firmware development with heavy calculations.
A5984 Drivers (Not TMC): The A5984 drivers are good, reliable, proven drivers. But they’re not as advanced as the modern TMC series:
They work fine for most applications. If you want the quietest possible machine, v2 with TMC drivers is better.
Limited GPIO Expansion: Compared to v2’s 56 GPIO pins on Gadgeteer headers, v1 has limited expansion. You can add external I/O expanders or use external driver boards, but it’s less convenient than v2’s expansion system.
No On-Board 5V Regulator (Standard): You have to supply 5V separately (via USB or external supply) or purchase and solder on an optional voltage regulator. This is a minor inconvenience. v2 has a built-in 3A regulator.
12V vs 24V: Some people worry about whether to use 12V or 24V. Use 24V. It’s better for motors (higher speeds, less heat). The only reason to use 12V is if you already have a 12V power supply and don’t want to buy a new one. Otherwise, 24V all the way.
Heated Bed Current: The large MOSFETs are rated for 12A each. A big heated bed at 24V might draw 10A or more. If you’re pushing the limits, consider using an external SSR (Solid State Relay) or contactor to switch the bed. This is common practice for big beds anyway.
v1.0:
v1.1:
Notes: All v1.x boards run the same firmware. Your config file works across all revisions. The minor hardware differences don’t affect user experience - you probably won’t even know which revision you have unless you look closely at the board.
Recommended Safety Practices:
Wiring:
Machine Safety:
Testing:
The firmware has laser safety features:
But firmware safety is secondary to physical safety (enclosure, interlocks, goggles).
CE/FCC: Smoothieboards are sold as components, not complete machines. The end-user (you) is responsible for compliance of the complete system. Your complete machine might need proper shielding, filtering, and grounding to meet emissions regulations. If you’re selling machines commercially, you need to get them certified.
RoHS: RoHS compliance varies by manufacturer and vendor. Check with your specific vendor if this matters to you. Most authentic boards are RoHS compliant but confirm before buying if it’s a requirement.
Manufacturer Warranty: Typically 30-90 days depending on vendor. Covers manufacturing defects - dead on arrival, component failures, that sort of thing.
Does NOT cover:
If something’s wrong: Contact your vendor’s support. You’ll need proof of purchase and probably photos of the issue. Keep original packaging in case you need to return it.
Most vendors are reasonable about warranty issues. If the board arrived dead or fails within the warranty period through no fault of yours, they’ll usually replace it.
Vendor Support:
Community Support (Free):
Community support is usually pretty good. The forums have a lot of experienced users who are happy to help.
Stepper Drivers (4-pin):
Endstops (3-pin):
Thermistors (3-pin):
MOSFETs (2-pin):
Stepper Current:
alpha_current 1.5 # X motor (Amps)
beta_current 1.5 # Y motor
gamma_current 1.5 # Z motor
delta_current 1.5 # E (extruder) motor
epsilon_current 1.5 # E1 (second extruder)
Microstepping:
microseconds 16 # 1/16 microstepping
# or
microseconds 32 # 1/32 microstepping (quieter)
Temperature Control (Example for Hotend):
temperature_control.hotend.enable true
temperature_control.hotend.thermistor_pin 0.23
temperature_control.hotend.heater_pin 2.7
temperature_control.hotend.thermistor Semitec
temperature_control.hotend.set_m_code 104
temperature_control.hotend.set_and_wait_m_code 109
See the configuration documentation for complete details.
Board won’t power on:
Motors won’t move:
G0 X10
(should move X axis 10mm)Heater won’t heat:
M105
- does it report temperature?M104 S200
(set hotend to 200°C)Temperature reads wrong:
SD card not detected:
Network not working:
For more detailed troubleshooting, see the troubleshooting guide.
Getting Started:
Application Guides:
Module Documentation:
Hardware:
Community:
Page last updated: 2025-10-21