Skip to content

Supported hardware

Robot models

Model Status
SO-ARM101-Robonine Supported, and the default. The SO-101 arm with the Robonine gripper, a camera on the wrist and a force reading on the gripper motor.
SO-ARM101 Supported. The plain open design.
norma-core ElRobot Planned, not implemented.

Both supported models ship with their URDF description and meshes, which is what the 3D viewport renders and what the inverse kinematics solves against.

Joints

Five joints plus a gripper, driven by six bus servos:

ID Joint
1 Shoulder pan
2 Shoulder lift
3 Elbow flex
4 Wrist flex
5 Wrist roll
6 Gripper

The IDs are not decoration: the software addresses each servo by number, so a motor on the wrong ID moves the wrong limb. Assigning them is part of Module 1, and the Set motor IDs tool fixes them later.

Servos

Feetech STS serial bus servos, half-duplex, one megabaud.

Model Encoder Stall torque
STS3215 4096 counts per revolution 2.94 N·m (30 kg·cm) at 12 V
STS3235 4096 counts 2.94 N·m at 12 V
STS3250 4096 counts 4.91 N·m (50 kg·cm) at 12 V

Both shipped arms use six STS3215. The 12-bit encoder gives a resolution of 360 ÷ 4096 ≈ 0.088°, which is the number Module 3 has you measure rather than take on trust.

The gripper runs on motor 6, with its travel mapped from roughly 100 counts fully open to 3900 fully closed.

Controller, cable and power

  • The servos are daisy-chained on a single two-wire bus that carries both power and data: board → motor 1 → motor 2 → … → motor 6. A break anywhere silences that motor and everything after it.
  • The controller board connects to the computer over USB. The board presents as a USB serial device using either a QinHeng CH343 or an Espressif ESP32-C3 interface — the Lab filters its port list to those, which is why a hub or an unrelated serial device never shows up by mistake.
  • Wireless operation needs the adapter running Nordic UART firmware; the Lab connects to it over Web Bluetooth.
  • Power: 12 V for the follower arm, 5 V for a leader arm. Both supplies are in the kit.

Building your own

Module 1 links STL bundles for the printed parts in two bed sizes — 220 × 220 mm for Ender-class printers and 205 × 250 mm for Prusa. Fasteners used in the guide are M2 × 6 for mounting servos and M3 × 6 for links and horns. Tools: a screwdriver and a hex key.

The assembly photographs and videos in the module are derived from the Hugging Face SO-ARM100 material under the Apache 2.0 licence.

Cameras

The Robonine gripper carries a USB camera at the wrist. Any ordinary webcam also works for the computer-vision modules, which can equally run against a virtual scene.

Camera intrinsics are solved by the Camera calibration tool from a printed checkerboard and stored with the robot; the values are visible under Account → My robots → Show camera calibration data.