QuadrupedOpen Dynamic Robot Initiative2021DE
Solo-12
Lightweight, torque-controlled 12-DOF research quadruped built from open-source brushless actuator modules by the Open Dynamic Robot Initiative.
Difficulty index
8.2/13| Class | quadruped | +3.5 |
|---|---|---|
| Cost | unknown · midpoint | +1.5 |
| DOF | 12 DOF | +1.2 |
| Parts | 1090 parts | +2 |
Specimen photographs
6 items
Studio render of the published URDF (xacro), the model's zero pose. Geometry only; colours are the model's own materials.Rendered by Hyperspawn from open-dynamic-robot-initiative/robot_properties_solo (BSD-3-Clause) · Hyperspawn render · source 
Side view of the same URDF (xacro) render, the model's zero pose.Rendered by Hyperspawn from open-dynamic-robot-initiative/robot_properties_solo (BSD-3-Clause) · Hyperspawn render · source 4 s turntable of the URDF (xacro) studio render.Rendered by Hyperspawn from open-dynamic-robot-initiative/robot_properties_solo (BSD-3-Clause) · Hyperspawn render · source Reactive Walking Controller for Solo-12Open Dynamic Robot Initiative · official video, embedded · source Controlling the Solo12 Quadruped Robot with Deep Reinforcement LearningOpen Dynamic Robot Initiative · official video, embedded · source Introduction Video - Open Dynamic Robot InitiativeOpen Dynamic Robot Initiative · official video, embedded · source
Spec card
4/13 known- Degrees of freedom
- 12
- Mass
- 2.5 kg
- Part count
- 1090
- Actuators
- ODRI open-source brushless torque-controlled actuator modules
Not in the registry: height, payload, speed, runtime, battery, price, bom total, compute, sensors. Left blank rather than guessed.
What you learn building it
- +Gait generation
- +State estimation from an IMU
- +Sim-to-real policy transfer
- +High-current power and motor drivers
- +Resin (SLA) printing: 48 parts
- +CNC machining: 36 parts
- +SLS printing (usually a print service): 24 parts
- +FDM 3D printing: 53 parts
- +Tools used: FDM printer (upstream: Fortus, PC-ABS, T12 nozzle, 0.178 mm slices), Fine-tip soldering iron, Flux, Magnifier, TI Code Composer Studio (tested 9.1.0, C2000 support + TI XDS probes), TI MotorWare 1.01.00.18, Soldering iron, Linux PC with esp-idf v4.0.1 install script, rolled back to commit 8d1a9c0 +25
- +21 assembly steps across 7 subassemblies
- +Flashing firmware for 6 x MicroDriver v2 (TI F28069M + DRV8305): udriver_firmware SPI build via Code Composer Studio + XDS100V2 JTAG, Master Board v2 (ESP32): master-board/firmware via esp-idf (v4.0.1 install, rolled back to 8d1a9c0) and `make flash` over the PROG serial port
- +Testing in simulation (URDF/MJCF) before touching hardware
Openness
- publicCAD
- publicBOM
- publicFirmware
- publicSim model
- publicSoftware
- not publicPolicies
Score 90/100 computed from what is public: CAD 25, BOM 20, sim 20, firmware 15, software 10, policies 10. Hardware license: BSD-3-Clause. Software license: BSD-3-Clause.
Repos & models
- github.com/open-dynamic-robot-initiative/open_robot_actuator
- github.com/open-dynamic-robot-initiative/robot_properties_so
- github.com/open-dynamic-robot-initiative/master-board
- github.com/open-dynamic-robot-initiative/solo
- github.com/open-dynamic-robot-initiative/udriver_firmware
- github.com/open-dynamic-robot-initiative/odri_control_interf
Build it
Has an ORP build package.- BOM total
- unpriced
- Lines priced
- 0/49
- Parts
- 1090
- Steps
- 21
- Version
- 0.1.0
49 lines have no price yet, so the real total is higher.
Largest BOM lines
| Part | Qty | Unit |
|---|---|---|
| T-Motor Antigravity 4004 300kV outrunner (1 per actuator module; sold in sets of 2)Antigravity 4004 300KV | 12 | ? |
| ODRI Encoder Kit v1.0 #109381: pre-assembled motor shaft with code wheel, aluminium 7075 center pulley, AEDT-9810-Z00 encoder head109381 | 12 | ? |
| Conti Synchroflex AT3 GEN III timing belt, 4 mm wide, 150 mm, 50 teeth (first stage)Reiff 60047626 | 12 | ? |
| Conti Synchroflex AT3 GEN III timing belt, 6 mm wide, 201 mm, 67 teeth (second stage)Reiff 60005258 | 12 | ? |
| Output shaft bearing 32 x 25 x 4 mm, EZO 61705 2RS VA stainless (2 per module)61705 2RS VA | 24 | ? |
| Motor and center shaft bearing 8 x 4 x 2 mm, EZO MR84 VA stainless (3 per module)MR84 VA | 36 | ? |
| Belt tensioner bearing 7 x 3 x 3 mm, EZO 683 2Z VA stainless (2 per module)683 2Z VA | 24 | ? |
| M3 x 16 Phillips flat head screw, polyamide (encoder mount; 2 per module; Conrad sells 10 per set)Conrad 839967 | 24 | ? |
Fabrication
- Resin (SLA) printing48
- CNC machining36
- SLS printing (usually a print service)24
- FDM 3D printing53
- Upstream pins: open-dynamic-robot-initiative/open_robot_actuator_hardware@66af1522b4fba0ec4a1d7790e66f5e4652208d30 (2022-09-06); master-board@574fe988270aa3da948484ad3fa1f15dbf8162bf (2026-06-30); udriver_firmware@c98d2296aaf409cd8ef2ce0df2e0a0a4a73943c0 (2022-09-30); odri_control_interface@dcc07e4efc9113622b32cbf5abb60f14b93de488 (2025-06-05); robot_properties_solo@2201f454f4caffa0cad307fa8cbd1d64dd844008 (2023-03-22); solo@e2a3b8bb749e9a41b32fa1907d46a1aa46e6cc34 (2023-08-17)
- No USD prices anywhere upstream. The only figures are EUR component estimates: about 50 EUR per micro driver and 35 EUR per master board in components. Several key parts (encoder kits, 4 mm belts, stainless bearings) are email-quote items from European suppliers.
- PAL Robotics' Solo12 page now says 'SOLO12 sales have been discontinued', so the upstream 'Commercial Option' (kit or assembled, including programmers and calibration tools) is no longer available.
- Custom PCB fab: the micro drivers are 6-layer boards built to a Beta LAYOUT order number (AU-201909/38760) or from the Gerber/assembly packs; the master board is quote AN5eea24ae72697. Shunt resistors and Hirose connectors are hand-soldered.
- Precision parts: pulleys need SLA/multijet, shells need SLS with a controlled +Z print direction (via 3D Systems engineering support), and without the ODRI Encoder Kit the pulleys need a custom form cutter (modified AT3 profile). Bearing seats and output pulley diameters are hand-fitted with end mills and a lathe.
- Robot-level quantities are computed from upstream per-module (x12) and per-leg (x4) BOMs; fastener counts for the calibration tools and body were added in. The actuator assembly page uses 5 M2.5x6 + 3 M2.5x8 for the shells while the leg BOM lists M2.5x6/M2.5x10 only. DF13 right-angle headers per micro driver are not counted upstream (18 assumes 2 encoders + 1 SPI per board).
- Dead vendor links on the upstream pages as of 2026-09-25: Globe-flight T-Motor set, EZO USA catalogue, Online Bearing Store bearing pages and Beltingonline all return 404; those offers are left out. DigiKey, Conrad and MicroStrain block automated checks (403) and were kept.
- Hoffmann part numbers for the M2.5x3.75 Helicoil conflict (leg page: 082814 M2,5; tools page: 082812 M2,5 for 3.75 mm, 082814 for 5 mm).
- Master board firmware only builds with esp-idf 3.x-era code: the docs install v4.0.1 then roll back to commit 8d1a9c0. `espefuse.py set_flash_voltage 3.3V` is irreversible and only for a fresh board.
- This package is the tethered v1 (24 V lab supply + Ethernet). The v1.1 autonomy upgrade (power board, 2 x 3S 850 mAh LiPo, e-stop, LED ring) is documented as work in progress upstream and is not included.
- Policies: the Sci. Reports Solo12 RL work (Gepetto/soloRL) points to checkpoints at gitlab.laas.fr/paleziart/quadruped-rl, which returned HTTP 500 on 2026-09-25, so no policy file could be verified and none is listed.
- Licences: hardware BSD-3-Clause (open_robot_actuator_hardware); master-board README says BSD 2-Clause while its ordering page says BSD 3-Clause; software BSD-3-Clause.
Simulate
Load it in the browser simulator and train a policy before building.
Open on humanoidrobots.training ↗Next rung
Z-Bot (Zeroth Bot) →K-Scale Labs · humanoid · index 8.4No buildable class sits between quadrupeds and humanoids yet, so the next rung is the easiest humanoid.
NoteMulti-institution academic initiative, so no single HQ given. Actuator/solo repos mostly unchanged since 2022-2023; master-board updated 2026. Mass 2.5 kg per the 12-DOF quadruped hardware README (v1, tethered); the v1.1 autonomy upgrade weighs 2.8 kg; 2.2 kg, quoted by some sources, is the Solo-8 figure. License mismatch upstream: the master-board README says BSD 2-Clause while its ordering page says BSD 3-Clause; actuator hardware and software are BSD-3-Clause.
Sources
- [1]ODRI hardware: 12-DOF quadruped v1 README (2.5 kg)checked 2026-09-25
- [2]PAL Robotics Solo page (sales discontinued)checked 2026-09-25
- [3]master-board repo (README: BSD 2-Clause)checked 2026-09-25
- [4]ODRI sitechecked 2026-09-24
- [5]Sci. Reports: Solo12 deep RLchecked 2026-09-24
- [6]Tegakari: SOLO 12 (2021)checked 2026-09-24
- [7]arXiv: An Open Torque-Controlled Modular Robotchecked 2026-09-24