Asked
Hi - I'm looking at using NEMA 17 stepper motors to control my robot's head rotation and possibly a four-wheel omniwheel drivetrain. I plan to control the motors from the ARC Movement Panel. How would you suggest I implement this within the ARC system?
For clarity, I haven't decided how the steppers will be connected - will they be driven through an EZB (robot controller running Synthiam firmware) or via external stepper drivers/interface connected to the PC (USB/serial)? Also, should I rely on existing Robot Skills for movement/servo control or use ARC's JavaScript/Python scripting for custom logic? Any guidance on the preferred hardware connection and whether Robot Skills or scripting are more appropriate would be helpful.
Related Hardware (view all EZB hardware)
EZ-B Iotiny
by EZ-Robot
Control IoTiny with Synthiam ARC: 100MHz Cortex‑M4 Wi‑Fi IoT/robot controller-camera, servos, ADC, I2C and digital I/O for easy internet automation
Wi-Fi / USB
Servos
8
Camera
Audio
UART
✕
I2C
ADC
✕
Digital
✕
Related Robot Skills (view all robot skills)
Brushless Motor Movement Panel
by Synthiam
Control brushless motor controllers (hoverboard-style) via EZ-B: configure direction, speed and optional brake ports for DIY robot movement.
Requires ARC
v2
Stepper Servo
by Synthian Inc.
Control up to 127 stepper motors via Arduinos mapped to ARC servos; supports any stepper driver, serial network, home calibration, speed/accel.
Requires ARC
v21

Yes - ARC can control stepper motors, but the best implementation depends on what you want the stepper to do:
Recommended approach
1) For a head rotation stepper
Use the Stepper Servo robot skill.
That skill lets ARC treat a stepper like a servo using a virtual servo port (
v0tov99), which is a very clean fit for something like pan/tilt or head rotation.With that setup, you can do things like:
or use the GUI and scripts together.
This is usually the best route if you want:
2) For a 4-wheel omniwheel drivetrain
I would not recommend using steppers directly through ARC Movement Panel unless you already have a dedicated stepper motor controller layer that handles:
For drivetrain motion, ARC’s Movement Panel is best when the hardware underneath already behaves like a movement system. Steppers can be used, but they usually need a proper motor controller architecture behind them.
ARC Movement Panels are designed to abstract the robot’s motion, but the actual motor control still needs to be provided by hardware or a skill that implements that movement behavior.
Hardware connection options
Option A: External USB/Serial stepper controller
This is often the most flexible choice for NEMA 17 motors.
Use:
This is usually the better option if you want:
If you go this route, ARC scripting with JavaScript or Python can be used to send commands to the device over serial.
Option B: EZ-B / IoTiny directly
If the stepper system is already handled by a supported robot skill, this can work well.
For example:
For IoTiny, keep in mind the port power is often unregulated on many I/O ports, so you must be careful with motor power and logic levels. NEMA 17 motors will definitely need proper external driver hardware - ARC/EZ-B should not drive them directly.
IoTiny hardware overview: https://synthiam.com/Support/Hardware/EZ-B-IoTiny
Robot Skills vs scripting
Use a Robot Skill when:
Use JavaScript/Python scripting when:
Best practice
Usually the best design is:
That keeps ARC organized and easier to maintain.
My recommendation for your project
For the head
Use:
v1For the omniwheel drivetrain
Use:
If you want the drivetrain to participate in ARC’s Movement Panel ecosystem, then the cleanest route is to build a Movement Panel or use a skill that acts as the movement interface. ARC does support custom Movement Panel behavior.
Movement panels overview: https://synthiam.com/Support/ARC-Overview/movement-panels
If you want to build something custom
If there isn’t an existing skill for your stepper controller, Synthiam recommends building a custom robot skill:
https://synthiam.com/Support/Create-Robot-Skill/Overview
That would be the path if you want a specialized stepper drivetrain controller that integrates tightly with ARC.
Quick question
What stepper driver or controller are you planning to use?
For example:
If you tell me the exact hardware, I can suggest the best ARC architecture and whether you should use: