Waveshare RoArm-M2: ESP32 desktop robot arm firmware
Open firmware for a 4-DOF ESP32-controlled desktop robotic arm with web control and ROS2 support.

Key Facts
- Chip: ESP32
- Actuators: serial bus servos
- DOF: 4 (3 joints + gripper)
- Control: web app, JSON, ESP-NOW, ROS2
About This Project
RoArm-M2 is a commercial 4-DOF arm kit from Waveshare whose ESP32 firmware is open on GitHub. It uses serial bus servos, a 360-degree base and offers a web app with coordinate control, plus JSON commands over Wi-Fi, serial or ESP-NOW and ROS2 compatibility. Listing it as a reference for ESP32 robot-arm control code; the hardware is a purchased kit.
Source & Attribution
Parts Needed
- Waveshare RoArm-M2-S kit (ESP32 driver board + bus servos)
- 12V power supply (included with the kit)
- USB data cable
Steps
- 1
Assemble and power
Build the arm according to Waveshare's wiki, clamp the base firmly and connect the 12V supply.
- 2
Use the web app
The arm creates its own Wi-Fi hotspot. Connect to it and open the web page to jog the joints, use coordinate control and record moves.
- 3
Flash or update firmware
To modify the firmware, open the code in the Arduino IDE with the ESP32 core and the libraries listed on Waveshare's wiki, then upload over USB.
- 4
Control it programmatically
Send JSON commands over USB serial or HTTP (they're documented on the wiki), use ESP-NOW for leader/follower setups, or try the ROS2 + MoveIt2 examples.
- 5
Safety
Gripper force is capped at 30% in recent firmware. Keep your hands clear during moves, and fix the base before running fast motions.
Photos
Photos from github.com
| Part | Qty | Role | Est. Price | Buy |
|---|---|---|---|---|
| 1 | kit | $180–$240 | View |
Not included: 3D-printed case, wire, solder, USB cable
Related Projects


