CANStepper vs PD Stepper vs CANBUS Stepper vs SERVO42C: Closed-Loop NEMA 17 Specs (2026)

·Grafito Innovations
Grafito CANStepper NEMA17 Closed Loop CAN Adapter Board for closed-loop stepper motor control

CANStepper vs PD Stepper vs CANBUS Stepper vs MKS SERVO42C

If you are shopping for a closed-loop NEMA 17 board in 2026, four names keep showing up in forums, YouTube comments, and maker communities:

  1. Grafito CANStepper — the NEMA17 Closed Loop CAN Adapter Board
  2. PD Stepper (Things by Josh) — open-source USB-PD ESP32 + TMC2209 controller (GitHub · SparkFun)
  3. CANBUS Stepper (Things by Josh) — open-source CAN daisy-chain closed-loop NEMA 17 board (GitHub · product kits)
  4. MKS SERVO42C — Makerbase serial closed-loop retrofit (GitHub)

They all promise the same headline: stop losing steps and make your NEMA 17 smarter. Under the hood they split into different architectures—USB-PD single-axis IoT, CAN multi-axis distributed control, and serial FOC retrofits.

This post is a spec-focused competitive analysis. Competitor links go to official open-source repos and product pages so you can verify features yourself.

Inspiration & acknowledgement

The PD Stepper and CANBUS Stepper projects by Josh Rogan of Things by Josh have been an inspiration to us.

All component selection and firmware development for Grafito CANStepper was done completely by Team Grafito after our own research and internal requirements.

Related links


Quick verdict (by use case)

If you need…Strong fit
Multi-axis robotics/CNC with CAN daisy-chain + hard limit portsGrafito CANStepper
Open-source CAN multi-axis with web GUI over USB + power pass-throughCANBUS Stepper
USB-C PD single-cable power + strong ESPHome blinds/IoT examplesPD Stepper
Serial FOC closed-loop retrofit on a classic Makerbase stackMKS SERVO42C
Documented 5–24V / 2.0 A RMS envelope + dual dedicated limit connectorsCANStepper
Browser config of a whole CAN chain from one USB nodeCANBUS Stepper

One-line take: SERVO42C is the serial FOC classic. PD Stepper is the USB-PD IoT single-axis board. CANBUS Stepper and Grafito CANStepper both target CAN multi-axis closed-loop NEMA 17—with different MCU, UI, I/O, and product packaging choices.


Why closed-loop NEMA 17 boards matter

Open-loop steppers are cheap and everywhere—but they assume every microstep actually happens. Real machines hit friction, binding, high acceleration, and insufficient torque. Missed steps mean ruined prints, crashed tools, and robots that drift out of calibration.

Closed-loop boards add a magnetic encoder on the motor shaft so firmware can:

  • Detect missed steps
  • Monitor absolute (or high-resolution relative) angle
  • Improve positioning reliability under load
  • Support smarter homing and recovery strategies
PhilosophyProduct archetypeCore idea
Serial closed-loop retrofitMKS SERVO42CFOC/serial closed-loop on each motor
USB-PD all-in-one IoT nodePD StepperOne motor, one USB-C PD cable, WiFi/BT, ESPHome
Open-source CAN multi-axisCANBUS StepperDaisy-chain CAN + power pass-through + web GUI
Distributed CAN motion kitCANStepperCAN node + dual limits + documented drive envelope

Meet the contenders

1. Grafito CANStepper (NEMA17 Closed Loop CAN Adapter Board)

Manufacturer: Grafito Innovations (India)
Shop: grafito.in/shop/products/canstepper-adapter-board

CANStepper mounts as a compact adapter that upgrades a standard NEMA 17 into a smart closed-loop actuator. The stack is robotics- and automation-oriented:

SpecValue
DriverTMC2209 (StealthChop / microstepping, quiet)
EncoderMagnTek MT6701 — up to 14-bit magnetic rotary (~0.022°)
MCUESP32-C3 (WiFi + Bluetooth)
NetworkCAN Bus daisy-chain, USB-C, WiFi, Bluetooth
PowerFlexible 5–24V
Motor current2.0 A RMS / 2.8 A peak
Limit I/O2× dedicated limit-switch connectors

In the box: TMC2209 heat sink, 4× CAN connectors, 2× limit-switch connectors, 2× Micro-Fit connectors, encoder magnet, 3D-printed casing, motor connector.

Built for: multi-axis robots, CNC-style machines, 3D printers, conveyors, linear actuators, lab automation, smart farming, industrial automation cells.

Real CANStepper board prototype connected to a NEMA 17 stepper motor

2. PD Stepper (Things by Josh) — open source

Official open source: github.com/joshr120/PD-Stepper
Also listed on: SparkFun PD Stepper · Things by Josh

PD Stepper’s big idea is convenience: negotiate power from a modern USB-C PD charger, run a silent TMC2209, close the loop with an AS5600 magnetic encoder, and control everything from an ESP32-S3 with WiFi/Bluetooth.

SpecValue
DriverTMC2209
EncoderAS5600 (12-bit class absolute magnetic angle)
MCUESP32-S3 (WiFi + Bluetooth; ESPHome / ESP-NOW examples)
NetworkPrimarily wireless / AUX / I2C — no native CAN
PowerUSB-PD only (5 / 9 / 12 / 15 / 20 V negotiated)
Drive envelopeUp to ~50 W via USB-PD + TMC2209
Limit I/OSensorless homing + end-stops on AUX
ExpansionQwiic / Stemma QT, AUX port, onboard buttons, motor temperature input
Open sourceYes — hardware/software project on GitHub

Strong at: single-motor IoT projects, ESPHome covers/blinds demos, makers who want a charger-only power stack and an open codebase.

3. CANBUS Stepper (Things by Josh) — open source

Official open source: github.com/joshr120/CANBUS-Stepper
Kits: thingsbyjosh.com/products/canbus-stepper
Web GUI: joshr120.github.io/CANBUS_Stepper_Web_GUI

The CANBUS Stepper integrates the essentials to drive a NEMA 17 on one compact board, with control over CAN bus. High-current connectors enable straightforward daisy-chaining of multiple boards. It is the closest open-source architectural peer to Grafito CANStepper.

Spec / featureValue (from project README)
ProcessorESP32-S3
DriverTMC2209 silent stepper driver
Encoder14-bit magnetic absolute rotary encoder
NetworkingDaisy-chainable CAN; up to 31 nodes with unique IDs
PowerHigh-current power pass-through connectors
HomingSensorless homing
ExpansionQwiic / Stemma QT; configurable AUX connector
WirelessWiFi and BLE
SoftwareOpen-source node firmware + example code
EcosystemWorks with ESPHome; Klipper integration in the works
Config UIWeb GUI — configure, control, monitor, and flash over a single USB serial connection to any node (no local software install)

Strong at: open multi-axis CAN systems, whole-chain debugging from one USB node, ESPHome as a DC-powered alternative to PD Stepper, and builders who want published CAN protocol + Python USB examples.

4. MKS SERVO42C (Makerbase)

Official docs/code: github.com/makerbase-mks/MKS-SERVO42C

SERVO42C is the volume champion of “make my NEMA 17 closed loop without inventing a PCB.” It is optimized for standalone serial retrofit.

SpecValue
Motor class42-series / NEMA 17 closed-loop setups
Input voltage7–28V
Motor current0–3000 mA adjustable range
ControlSerial / USART closed-loop controller
Drive approach4 half-bridge / 8 MOSFETs with FOC
Angle resolution (published class)about 0.08°
WirelessNot a first-class WiFi/Bluetooth product story
Multi-axis busSerial-centric — not native CAN daisy-chain

Strong at: FOC-style closed-loop single-axis upgrades and hobby CNC/3D-printer retrofits that already speak serial.


Spec comparison tables

A. Multi-axis CAN boards: CANStepper vs CANBUS Stepper

FeatureGrafito CANStepperCANBUS Stepper (GitHub)
Project / open sourceProduct pagejoshr120/CANBUS-Stepper · Things by Josh
Motor form factorNEMA 17 adapterNEMA 17 all-in-one board
DriverTMC2209TMC2209
EncoderMT6701 up to 14-bit (~0.022°)14-bit magnetic absolute
MCUESP32-C3ESP32-S3
WiFi / BluetoothYesYes (WiFi + BLE)
Multi-axis networkNative CAN daisy-chainCAN daisy-chain + high-current power pass-through
Node scaleDistributed multi-motor CAN networkUp to 31 unique node IDs on one bus
Power architectureFlexible 5–24VDC multi-axis with power pass-through
Motor current (published)2.0 A RMS / 2.8 A peakSee project datasheet
Homing / limits2× dedicated limit-switch connectorsSensorless homing; configurable AUX
ConfigurationUSB-C + WiFi/Bluetooth workflowsWeb GUI over single USB serial to any node; flash from browser
Open sourceCommercial product + public docsOpen-source software/examples (GPL project)
Ecosystem notesMachine interconnect kit (CAN + limits + casing)ESPHome support; Klipper in progress; Python USB examples
ExpansionCAN, dual limits, Micro-Fit, USB-CQwiic / Stemma QT, AUX, power pass-through
Best fitHard-limit multi-axis machines, documented drive envelope, kit interconnectsOpen CAN stacks, USB web GUI system bring-up, ESPHome/Klipper roadmaps

B. Wireless single-axis vs CAN: CANStepper vs PD Stepper

FeatureGrafito CANStepperPD Stepper (GitHub)
Project / open sourceProduct pagejoshr120/PD-Stepper · SparkFun
Motor form factorNEMA 17NEMA 17
DriverTMC2209TMC2209
EncoderMT6701 up to 14-bitAS5600 12-bit class
MCUESP32-C3ESP32-S3
WiFi / BluetoothYesYes (ESPHome / ESP-NOW examples)
Multi-axis networkingNative CAN Bus daisy-chainI2C / AUX / ESP-NOW (no CAN)
PowerFlexible 5–24VUSB-PD only (5–20 V negotiated)
Motor drive2.0 A RMS / 2.8 A peakUp to ~50 W via USB-PD + TMC2209
Limit / homing I/O2× dedicated limit portsSensorless + AUX end-stops
IoT / Home AssistantCustom wireless motion nodeStrong open-source ESPHome / HA examples
Open sourceCommercial + public docsOpen-source project
Best fitMulti-axis CAN robotics/CNCSingle-axis USB-PD IoT / blinds demos

C. CAN adapter vs serial FOC: CANStepper vs MKS SERVO42C

FeatureCANStepperMKS SERVO42C (GitHub)
Project / open sourceProduct pagemakerbase-mks/MKS-SERVO42C
Supported motorNEMA 1742-series / NEMA 17 class
Input voltage5–24V7–28V
Motor current2.0 A RMS / 2.8 A peak0–3000 mA adjustable
MCU / controllerESP32-C3 (WiFi + Bluetooth)Serial closed-loop controller
CommunicationCAN + USB-C + WiFi + BluetoothUSART / serial
Drive approachTMC2209 + magnetic encoderFOC MOSFET bridge stack
Angle resolution~0.022°~0.08°
Limit switch support2× connectors includedNot a highlighted dual-limit feature
Best fitDistributed robotics / CAN networksStandalone serial closed-loop retrofit
Two CANStepper boards mounted on NEMA 17 motors for multi-axis control

Competitive analysis by decision factor

1. Multi-axis architecture

BoardMulti-axis story
CANStepperEach motor is a CAN node; dual hard limits; machine-oriented interconnect kit
CANBUS StepperCAN daisy-chain + power pass-through; up to 31 IDs; control whole chain from one USB node
PD StepperExcellent one-axis; multi-board via I2C/AUX/ESP-NOW—not a CAN fieldbus
SERVO42CSerial multi-drop discipline; not native CAN

If your project is 3–8 axes, shortlist CANStepper and CANBUS Stepper. If it is one axis with a USB charger, shortlist PD Stepper.

2. Encoder resolution

BoardSensing class
CANStepperMT6701 up to 14-bit (~0.022°)
CANBUS Stepper14-bit magnetic absolute
PD StepperAS5600 12-bit class
SERVO42CPublished class ~0.08°

CAN multi-axis boards lead resolution class; PD Stepper trades bits for USB-PD simplicity.

3. Power strategy

Power styleStrong options
Machine DC rails (5–24V / industrial)CANStepper, CANBUS Stepper, SERVO42C
USB-C PD charger onlyPD Stepper
Daisy-chained power + CANCANBUS Stepper (power pass-through)

4. Limit switches, homing, and machine safety

BoardHoming / limits
CANStepper2× dedicated limit-switch connectors
CANBUS StepperSensorless homing + configurable AUX
PD StepperSensorless + AUX end-stops
SERVO42CNot a dual-limit product highlight

CNC and linear stages that must hard-stop cleanly often prefer dedicated limit ports.

5. Software, open source, and configuration UX

BoardSoftware posture
PD StepperOpen source; mature ESPHome / Home Assistant narrative
CANBUS StepperOpen-source node firmware; published CAN protocol; web GUI over USB; Python examples; ESPHome; Klipper in progress
CANStepperCommercial product with public specs/docs; ESP32-C3 USB-C / WiFi / BT workflows
SERVO42CMakerbase serial ecosystem and community docs

Choose open-source first if you need to fork firmware immediately. Choose a packaged product kit if you want documented electrical limits and interconnects for production-ish machines.

6. Drive character: TMC2209 silence vs FOC

ApproachBoards
TMC2209 StealthChop / microsteppingCANStepper, PD Stepper, CANBUS Stepper
FOC MOSFET closed-loopSERVO42C

Quiet TMC2209 behavior is shared among the Things by Josh boards and CANStepper—not a differentiator between those three. SERVO42C competes on FOC closed-loop character instead.

CANStepper transparent enclosure render showing motor-mounted closed-loop adapter

Decision matrix by project type

ProjectRecommended starting pointWhy
4–6 axis robot or CNC gantryCANStepper or CANBUS StepperNative CAN; pick hard limits (CANStepper) vs web GUI/open stack (CANBUS)
Open-source multi-axis bring-upCANBUS StepperWeb GUI + published protocol + OSS
3D printer multi-axis retrofitCANStepper / CANBUS / SERVO42CDepends on CAN vs serial preference
Smart blinds / Home Assistant coverPD Stepper firstESPHome maturity; CANBUS as DC ESPHome alternative
Lab automation linear stageCANStepperDual limits + closed loop + CAN
Camera slider / desk turntablePD StepperUSB-PD convenience
Agricultural multi-actuator cellCANStepper or CANBUS StepperDistributed nodes on DC rails
Classic serial FOC experimentSERVO42CMakerbase ecosystem

How the open-source boards relate to CANStepper

PD Stepper — joshr120/PD-Stepper

Best thought of as a USB-PD IoT sibling, not a CAN twin. Shared DNA with CANStepper: NEMA 17 mount, TMC2209 silence, ESP32 wireless, magnetic closed loop. Divergence: PD power, AS5600 encoder class, no native CAN multi-axis bus.

CANBUS Stepper — joshr120/CANBUS-Stepper

Best thought of as the open-source CAN multi-axis peer. Shared DNA: daisy-chain CAN, TMC2209, 14-bit encoder feedback, WiFi/BLE, multi-axis intent. Divergence:

ThemeCANStepper emphasisCANBUS Stepper emphasis
MCUESP32-C3ESP32-S3
Hard limitsDual dedicated connectorsSensorless + AUX
Electrical packagingPublished 5–24V / 2.0 A RMS kitPower pass-through + datasheet
UIUSB-C / wireless config workflowsBrowser web GUI + flash over USB serial
Licensing postureCommercial Grafito productOpen-source project + kits

Neither “wins” universally—match the architecture to the machine.


Getting started with CANStepper

  1. Choose a NEMA 17 within 2.0 A RMS / 2.8 A peak
  2. Mount the adapter and encoder magnet
  3. Power with a stable 5–24V supply
  4. Daisy-chain CAN for multi-axis; wire limit switches for homing
  5. Configure over USB-C / WiFi / Bluetooth and verify closed-loop motion

Full walkthrough: How to make a NEMA 17 closed loop

Preorder: CANStepper product page


FAQ

Is PD Stepper open source?

Yes. Project home: https://github.com/joshr120/PD-Stepper.

Is CANBUS Stepper open source?

Yes. Project home: https://github.com/joshr120/CANBUS-Stepper. Kits are sold by Things by Josh.

Do CANStepper and CANBUS Stepper both use CAN?

Yes. Both are designed for multi-axis daisy-chain closed-loop NEMA 17 control over CAN. Compare limit I/O, MCU, power packaging, and software UX before choosing.

Do CANStepper and PD Stepper both use TMC2209?

Yes. Quiet StealthChop behavior is shared. Differentiate on CAN vs USB-PD, encoder bits, and multi-axis networking.

Can CANStepper do Home Assistant / blinds openers?

Yes as a custom wireless motion node (ESP32-C3). PD Stepper and CANBUS Stepper currently have stronger public ESPHome narratives; CANStepper is stronger when blinds/openers sit inside a larger multi-actuator CAN system with hard limits.

Where are live product comparison tables?

On the product page: https://grafito.in/shop/products/canstepper-adapter-board


Bottom line

GoalShortlist
Open-source USB-PD single-axis IoTPD Stepper
Open-source CAN multi-axis + web GUICANBUS Stepper
Packaged CAN multi-axis with dual hard limits + documented 5–24V drive kitGrafito CANStepper
Serial FOC closed-loop classicMKS SERVO42C

Closed-loop NEMA 17 is no longer one product category—it is several. Link the official projects, read the datasheets, and pick the bus (USB-PD, CAN, or serial) that matches your machine.

Ready to build multi-axis with Grafito? Preorder the NEMA17 Closed Loop CAN Adapter Board (CANStepper).

Exploring the open-source peers?