🧪 New tutorials are being published — build from robot arms to sensors step by step
Skip to content

SR-Support Self-Righting Robot Tutorial ​

简体中文 · 繁體中文 · English · 日本語 · 한국어 · Deutsch · Français · Español · Italiano · Português (BR) · Português (PT)

SR-Support is a low-cost active self-righting device based on a 2-DOF arm. After tipping in any direction it plants its two-joint arm on the ground, rolls and levers itself back upright. This tutorial is organized as a reading order covering the full path from scratch to a verified build.

Reading order ​

#PageContentNote
01BasicsWorking principle, specs, BOMread first
02Environment setupCreate/activate .venv, prebuilt firmware + flash tools (Flash Download Tool / esptool), computer-side tools and MuJoCo env, optional PlatformIO, serial portdo this first
03Flash the main firmwarePrebuilt bin (recommended for customers) or a PlatformIO source build, serial commands, boot behaviorskippable for stock units
04Assembly: print, build, wirePrinted parts, horn index, wiring table, IMU mountingskippable for stock units
05Zero-calibrationArrow-key jog + z zeroing (after re-indexing/re-assembly)required for DIY builds; skippable for stock units
06Debug and calibrationWhole-robot check and calibration: telemetry, IMU, servos, center check, four lying poses, fall gate
07Self-righting usage and monitoringFour fall directions, expected motion, monitoring and logs
08WiFi and the simulation twinStatus page, home-WiFi provisioning, wireless MuJoCo twinoptional
09TroubleshootingCommon symptoms and fixesreference
10Reference: model, parameters, licensingModel files (XML/STL), parameters, reference sequences, licensingreference

Factory state of a finished unit (two reading paths) ​

This tutorial serves two audiences - pick the path that matches yours:

ReaderFactory stateRecommended path
Finished-unit userAssembled and wired, firmware flashed, calibrated (servo zeros and IMU accel zeros baked), tested (all four get-up directions verified per unit)Go straight to 07 usage and 08 WiFi/twin (optional); keep 09/10 for reference. Pages 02/03/04/05/06 are only needed for firmware upgrades, servo/IMU replacement or horn re-mounting; to use the twin/telemetry tools on page 08, first install the computer-side tools from page 02.
Kit / DIY builderStarts from partsFollow 01 → 02 → 03 flash → 04 assembly → 05 zeroing (required) → 06 debug/calibration → 07 end to end. Both zeroing (05) and calibration (06) happen after full assembly and flashing: z does not use the IMU and works in any pose; c needs the assembled robot standing level.

Recommended first-use check for a finished unit: power up upright → confirm up≈(0,0,1) → tip it once in each of the four directions per page 07 and confirm it stands up.

Prerequisites ​

  • SR-Support mechanical parts (bottom plate, shoulder servo mount, elbow servo mount, top strut; printing and assembly on page 04);
  • ESP32-S3 board, Juxi ICM42670P IMU, passive direct-drive servo adapter board;
  • 2× PTK7452MG (180° PWM) servos;
  • A servo power supply (5 V / ≥5 A) and a USB-C data cable;
  • A computer with the environment from page 02.

Verified status (2026-11-06) ​

All four fallen directions have been verified on the real robot, each as a direct get-up (no roll-over needed), taking about 1–6 s; no servo envelope violations were recorded. The kit also ships an arrow-key zero calibration tool (page 05), a WiFi status page with home-network provisioning, and a wireless MuJoCo live twin (page 08).

Safety ​

  • Hold the robot on first power-up, keep a 30 cm clear area, and send x or cut servo power on any anomaly;
  • Never stall a servo longer than 1 s; stop when the case exceeds 60 °C;
  • the servo supply 5 V / ≥5 A (verified for all four get-up directions);
  • anything above 5 V goes to the servo rail only - never to the ESP32 5V/3V3;
  • Everything shares one ground; power-up order is in page 04.