FOC driver that turns stepper motors into closed-loop servos, with open-source firmware.
It never loses steps, reports its position and takes position, speed, torque or impedance commands.
Buy · Documentation · Quick start · Download · Discord
| 12 to 29 V | 1.5 A | 14-bit | CAN + UART | 39 × 39 mm |
|---|---|---|---|---|
| supply voltage | phase current, 2.8 A max. | magnetic encoder | interfaces | NEMA 17 holes, 8 g |
|
STEPFOC is a FOC-based stepper motor controller designed to deliver affordable, high-performance hardware
paired with powerful open-source software. Its mission is to transform low-cost stepper motors into
high-performance robotic servos, enabling advanced robotics applications without the high price tag.
The controller features a 14-bit magnetic encoder, inline current sensing, CAN and UART interfaces, and supports position, velocity, torque and impedance control modes. It is made for NEMA 17 motors and also fits NEMA 23 (with the NEMA 23 spacer) and other frames such as NEMA 14 (with an adapter). ▶︎ Watch the STEPFOC motor setup guide |
|
STEPFOC and the Spectral Micro BLDC driver are sister drivers: similar hardware and firmware, controlled the same way, with the same CAN and UART commands, Python library and Motor GUI. Some pictures in the manual show the Spectral Micro; the procedure is the same for STEPFOC.
| I want to | Go to |
|---|---|
| Buy a driver or a starter kit | source-robotics.com · starter kit |
| Mount and wire it | Quick start · mounting and wiring · spacers and magnet tool |
| Set it up and calibrate it | Motor GUI in the browser (guide) · calibration · setup video |
| Control it | over CAN · over UART · Python library (guide) · API reference · Source Robotics toolbox |
| Update the firmware | Updating through the bootloader · latest release · a board without the bootloader |
| Use it in a gripper or robot | gripper mode · MSG gripper · PAR6 robot arm · guides with code |
| Folder | What is in it |
|---|---|
STEPFOC firmware |
the firmware (PlatformIO) of release 103 and earlier, for boards without the bootloader; releases from 105 on are built from the bootloader-version branch |
Binaries |
firmware.bin, the release 103 image |
STEP files |
the STEP model of the board, the magnet and motor spacers for NEMA 17 and NEMA 23 (Stepper motor accessories), the magnet tool (Tools) |
Photos |
the product photo |
The latest release has the firmware
image and its firmware.json as ready downloads; Motor GUI fetches, checks and flashes them for you. Beside the
folders: STEPFOC firmware.zip, the release 103 firmware folder as one download, and
en.stsw-link009.zip, the ST-LINK USB driver for Windows (STSW-LINK009) for the programming
adapter.
Ask in Discussions, chat on Discord, report a bug in Issues, and follow Source Robotics:
- The software and hardware are still in development and may contain bugs, errors, or incomplete features.
- Users are encouraged to use this software and hardware responsibly and at their own risk.
Read the manual's safety chapter before you wire and power the driver.
Project is under GPLv3 Licence
Which firmware release your driver runs, and what works with it: VERSIONS.md.

