# Waveshare RoArm-M2-S

> ESP32-based 4-DOF robotic arm with 360-degree base rotation, 500g payload at 300mm reach, dual-drive shoulder joint, 9-axis IMU, and ROS 2 + LeRobot compatibility. Under 850g total weight.

## Quick Facts

- **Brand:** Waveshare
- **Board Type:** robotic-arm
- **Price:** ~$189.99
- **Product Readiness:** developer
- **CPU:** ESP32-WROOM-32
- **CPU Architecture:** Xtensa LX6
- **CPU Cores:** 2
- **RAM:** 520KB SRAM
- **Flash:** 4MB
- **USB:** Type-C
- **Power:** 12V 5A DC
- **Operating Voltage:** 3.3V
- **Antenna:** Built-in PCB antenna

## Connectivity

- **Wifi:** 2.4GHz

## Open Source

- **Firmware:** Yes
- **Schematics:** No
- **PCB Layout:** No

## Compatible Firmware

arduino, ros2, esp-idf, micropython

## Use Cases

- robotics
- robotic-arm
- automation
- education
- pick-and-place
- 3d-printing-companion

## Components

- **ESP32-WROOM-32** (MCU): Espressif ESP32 dual-core Xtensa LX6 microcontroller with integrated WiFi and Bluetooth — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.espressif.com%2Fsites%2Fdefault%2Ffiles%2Fdocumentation%2Fesp32-wroom-32_datasheet_en.pdf&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **ST3215 Serial Bus Servo (x5)** (Servo): Feetech ST3215 TTL serial bus servo with 30kg.cm torque at 12V, 40rpm no-load speed, and 12-bit magnetic encoder — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.feetechrc.com%2Fst3215.html&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **QMI8658C** (IMU): QST QMI8658C 6-axis inertial measurement unit with 3-axis accelerometer and 3-axis gyroscope — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.qstcorp.com%2Fupload%2Fpdf%2F202301%2F13-52-25%2520QMI8658C%2520Datasheet%2520Rev%2520A.pdf&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **AK09918C** (Sensor): AKM AK09918C 3-axis electronic compass for orientation sensing — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.akm.com%2Fcontent%2Fdam%2Fdocuments%2Fproducts%2Felectronic-compass%2Fak09918c%2Fak09918c-en-datasheet.pdf&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **INA219** (Power Monitor): Texas Instruments INA219 high-side current and power monitor with I2C interface — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.ti.com%2Flit%2Fds%2Fsymlink%2Fina219.pdf&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **TB6612FNG** (Motor Driver): Toshiba TB6612FNG dual H-bridge motor driver for DC and stepper motor control — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.sparkfun.com%2Fdatasheets%2FRobotics%2FTB6612FNG.pdf&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- **0.91-inch OLED** (Display): 0.91-inch OLED screen for real-time status and parameter display — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Fwiki%2FRoArm-M2-S&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)

## Protocols

- **UART**
- **I2C**
- **HTTP/JSON**
- **ESP-NOW**

## Description

## Overview

The Waveshare RoArm-M2-S is a lightweight 4-DOF desktop robotic arm featuring a 360-degree omnidirectional base, dual-drive shoulder joint technology, and an ESP32-WROOM-32 controller. Weighing under 850g, it delivers a 500g payload capacity at 300mm reach with a workspace diameter of over 1 meter.

## Key Features

- **4 Degrees of Freedom** with 360-degree base rotation
- **Dual-Drive Shoulder Joint**: Innovative technology for enhanced torque and stability
- **500g Payload** at 300mm reach with ±4mm repositioning precision
- **12-bit Magnetic Encoders**: 0.088-degree feedback precision on all joints
- **Dynamic External Force Adaptive (DEFA) Control**: Responds to external forces in real-time
- **9-Axis IMU**: AK09918C 3-axis compass + QMI8658C 6-axis motion sensor
- **INA219 Power Monitoring**: Real-time voltage and current sensing
- **Cross-Platform Web App**: Browser-based control with no installation required
- **Task Recording**: One-click automatic recording and JSON-based playback

## Specifications

| Parameter | Value |
|---|---|
| DOF | 4 |
| Servos | 5x ST3215 (30kg.cm @ 12V) |
| Servo Speed | 40 RPM (no-load) |
| Workspace | 1090mm horizontal, 798mm vertical |
| Weight | 826g ± 15g |
| Power | 12V 5A DC |
| Battery | 3S Lithium compatible |

## Joint Ranges

- **Base**: 360 degrees
- **Shoulder**: 180 degrees
- **Elbow**: 180 degrees
- **End Effector (Gripper)**: 135 degrees
- **End Effector (Wrist)**: 270 degrees

## Connectivity

- WiFi 2.4GHz (AP mode: "RoArm-M2", STA mode supported)
- ESP-NOW for lead-follow multi-arm control
- USB Type-C (UART serial)
- I2C expansion interface
- 40-pin GPIO header for Raspberry Pi / Jetson Nano integration
- LIDAR interface support

## Development

Compatible with Arduino IDE, ESP-IDF, ROS 2 Humble with MoveIt2, and Python scripting via UART or HTTP. Open-source control code and JSON command protocol. URDF model files provided for simulation.

## Variants

- **RoArm-M2-S**: Standard version with plastic servo housings ($189.99)
- **RoArm-M2-Pro**: Upgraded with all-metal ST3235 bus servos ($299.99)

## Where to Buy

- [Waveshare Official](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Froarm-m2-s.htm&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export) — $189.99
- [OpenELab](https://openhardware.directory/r?to=https%3A%2F%2Fopenelab.io%2Fproducts%2Fwaveshare-roarm-m2-s-robotic-arm&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export) — $209.85

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Froarm-m2-s.htm&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fwww.waveshare.com%2Fwiki%2FRoArm-M2-S&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Fwaveshareteam%2Froarm_m2&ref=openhardware.directory&product=waveshare-roarm-m2-s&source=md-export)

## Tags

`robotic-arm`, `esp32`, `ros2`, `arduino`, `wifi`, `desktop-robot`, `servo`, `waveshare`, `imu`

## Images

![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/a0a8720990df.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/5e8d7770e239.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/5ab8e2bf58af.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/7512a1301171.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/c83cb7a962e3.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/047ea060e8b0.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/b0b5357fbf4b.jpg)
![Waveshare RoArm-M2-S](https://nbg1.your-objectstorage.com/openhardware-directory/entities/waveshare-roarm-m2-s/a9c15b30cec6.jpg)

---
[View full device page](https://openhardware.directory/devices/waveshare-roarm-m2-s)