OpenQuadruped (Adham Elarabawy)
3D-printed 12-DoF servo quadruped with Bezier-curve gaits and full pose IK.
- MIT with an added attribution clause (non-standard)
- robot dog12 DoF
- cost not published
About OpenQuadruped (Adham Elarabawy)
OpenQuadruped is an open-source, 3D-printed 12-DoF quadruped by Adham Elarabawy, with three servo joints per leg. It features intuitive Bezier-curve gait generation, full 6-axis body-pose manipulation, and a custom 3-DoF leg inverse-kinematics model that accounts for joint offsets, documented in the author's IK paper. The repo ships STEP and STL CAD for the robot, gerbers for a custom 12-servo control PCB, a Teensy C++ firmware library, and a ROS workspace with a Gazebo/RViz URDF. The upstream README points to an external BOM sheet that is currently unavailable, so only the 12 servos, the custom PCB and the printed parts are listed here, not a complete costed shopping list. High-level control runs on a Jetson Nano, and the license is MIT with an added attribution clause.
Licenses
- Docs
- Not published
Degrees of freedom
12 DoF legs 12
Quadrupedsource
How to build OpenQuadruped (Adham Elarabawy)
5 stepsSteps marked Motari summary condense the linked source; follow the source for exact instructions.
Print the structural parts
Print the body, left and right leg sets and covers from the STEP/STL files in hardware/3d-printing; the folder also includes hip and leg calibrator parts. Upstream print instructions are marked in progress.
Motari summarygithub.com/adham-elarabawy/open-quadruped/wikiFabricate the control PCB
Order the custom servo-control board from the provided gerbers (single or double PCB variant) and populate it to drive all 12 servos and sensors.
Motari summarygithub.com/adham-elarabawy/open-quadruped/wikiAssemble legs and body
Mount three servos per leg (12 total) and assemble the printed hip, upper leg, lower leg, foot, pulley and bridge parts for each leg, then attach the legs to the chassis. No upstream assembly guide is published.
Motari summarygithub.com/adham-elarabawy/open-quadruped/wikiWire and flash
Wire the servos and power per media/wiring_diagram.png, then flash the Teensy llc-teensy firmware that runs the AdvServo control loop.
Motari summarygithub.com/adham-elarabawy/open-quadruped/wikiRun gaits and pose control
Run the ROS workspace on the Jetson Nano: the Python control_library does Bezier gait planning and body-pose IK and sends foot positions to the Teensy over rosserial. Gazebo simulation is available.
Motari summarygithub.com/adham-elarabawy/open-quadruped/wiki
Wiring, power and firmware are safety-relevant and shown for reference only. Check them against the source before building.
OpenQuadruped (Adham Elarabawy) bill of materials
8 rowsCost to build
The sources do not publish a cost total. The rows below are what they list, without a sum.
OpenQuadruped (Adham Elarabawy) parts, as the source lists them. Prices are the source's, not checked against vendors.
| Part | Qty | Spec | Source | Confidence |
|---|---|---|---|---|
Hobby servo actuator12-servo quadruped actuator set; exact servo model is not specified in the available source. | 12 | Firmware declares 12 AdvServo joints; README says the custom PCB controls 12 servos. | vendor not namedprice not listedREADME hardware section and llc-teensy firmware | high |
Custom OpenQuadruped servo/sensor PCBCustom board for controlling 12 servos and interfacing sensors; gerbers are published. | 1 | Custom PCB; Gerber_MainPCB.zip and Gerber_DoublePCB.zip are source fabrication files/variants. | fabricated from source gerbersprice not listedREADME hardware section and hardware/pcb gerber files | high |
Teensy 4.0 microcontroller boardLow-level controller firmware target for the llc-teensy controller. | 1 | PlatformIO environment uses board = teensy40. | PJRC / Teensy-compatible supplierprice not listedllc-teensy/platformio.ini | high |
Foot contact sensorFirmware declares and initializes one foot sensor per leg; exact sensor type is not specified. | 4 | Analog foot sensor inputs A6-A9 with LED pins 14-17. | vendor not namedprice not listedllc-teensy/src/main.cpp FootSensor declarations and init calls | med |
3D-printed body/chassis parts setGrouped source set for main body, chassis sides, front/back panels, brackets, covers, electronics plate, and adapter/body parts. | 1 | Self-fabricated from hardware/3d-printing/Body and Covers STL/STEP files plus URDF OpenQuadruped body meshes. | 3D print yourselfprice not listedREADME 3D model section, source tree, and spot.urdf.xacro mesh references | med |
3D-printed left leg parts setLeft hip, upper leg, lower leg, and foot meshes are used for front-left and back-left legs; CAD also includes bridge/idler/cover/pulley files. | 2 | Left leg source set from hardware/3d-printing/Legs/Left STL/STEP files. | 3D print yourselfprice not listedspot.urdf.xacro front-left/back-left mesh references and Legs/Left source files | med |
3D-printed right leg parts setRight hip, upper leg, lower leg, and foot meshes are used for front-right and back-right legs; CAD also includes bridge/idler/cover/pulley files. | 2 | Right leg source set from hardware/3d-printing/Legs/Right STL/STEP files. | 3D print yourselfprice not listedspot.urdf.xacro front-right/back-right mesh references and Legs/Right source files | med |
Servo calibration jigsCalibration source includes hip, upper-leg, and lower-leg calibrator STL files. | 3 | Self-fabricated calibration tools from hardware/3d-printing/Calibration STL files. | printed tools you makeprice not listedhardware/3d-printing/Calibration source files | med |
Rows from the source's own parts list 6
README.md@b0ab4famarkdown
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
OpenQuadruped source CAD, custom PCB, 12 servo statement, and unavailable external BOM | 12 servos explicitly stated; external BOM unavailable | OpenQuadruped READMEno price listed | L39 |
ros-workspace/src/open_quadruped/urdf/spot.urdf.xacro@b0ab4faurdf
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
Twelve actuated joints and grouped body/leg mesh evidence | 12 motor joints; two left legs and two right legs represented by mesh reuse | OpenQuadruped URDFno price listed | L23 |
ros-workspace/src/open_quadruped/config/control.yaml@b0ab4fayaml
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
Twelve ROS joint controllers | 12 joint position controllers | OpenQuadruped ROS control configno price listed | L7 |
hardware/3d-printing@b0ab4farepository_tree
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
Grouped body, cover, leg, and calibration printed source files | 8 grouped body parts, 4 cover panels, left/right leg source sets, 3 calibration STL tools | OpenQuadruped source treeno price listed | L1 |
2 more source files with parts rows are listed under Files.
OpenQuadruped (Adham Elarabawy) source files
14 files- ros-workspace/src/open_quadruped/urdf/spot_accessories.urdf
- ros-workspace/src/open_quadruped/urdf/spot.urdf
- ros-workspace/src/open_quadruped/urdf/spot.urdf.xacro
- hardware/3d-printing/Legs/Left/step/Lower_Leg.step
- hardware/3d-printing/Legs/Right/step/Lower_Leg.step
- hardware/3d-printing/Body/step/Front_Outer_Shoulder.step
- ros-workspace/src/open_quadruped/urdf/stl/OpenQuadruped/MAINBODY.stl
- hardware/3d-printing/Legs/Left/stl/Left_Hip_Joint.stl
- hardware/3d-printing/Legs/Right/stl/Right_Hip_Joint.stl
- media/wiring_diagram.png
- ros-workspace/src/open_quadruped/config/control.yaml
- llc-teensy/.travis.yml
- ros-workspace/src/open_quadruped/launch/sim.launch
- ros-workspace/src/open_quadruped/CMakeLists.txt
Files stay in the upstream repository under their own licenses; these links open them there. The 3D model on this page is Motari's conversion of the file named under Simulation.
OpenQuadruped (Adham Elarabawy) in simulation
Robot description files a simulator or CAD tool can load, linked at the commit they were found.
- URDFros-workspace/src/open_quadruped/urdf/spot.urdfadham-elarabawy/open-quadruped
- URDFros-workspace/src/open_quadruped/urdf/spot.urdf.xacroadham-elarabawy/open-quadruped
The 3D specimen on this page is converted from ros-workspace/src/open_quadruped/urdf/spot.urdf at b0ab4fa.
Builds of OpenQuadruped (Adham Elarabawy)
0 reviewedNo reviewed builds of OpenQuadruped (Adham Elarabawy) yet.
A build log records the evidence (photos, a video, your repository), what the build cost, how long it took and what you changed. Each one is checked by Motari (until a maintainer claims this page) before it shows here, and reviewed builds count toward the reproducibility score.
Sources and provenance
Sources
- Hardwaregithub.com/adham-elarabawy/open-quadrupedb0ab4fa
- Documentationgithub.com/adham-elarabawy/open-quadruped/wikib0ab4fa
- Documentationelarabawy.com/projects/open_quadruped
Last push to adham-elarabawy/open-quadruped: 2024-08-23 (checked 2026-10-01)
Related links
- IK model paperarchived IK_Model.pdf (original link returns 404)
- ROS workspaceGazebo + RViz URDF
- Related simMaurice Rahme, Spot Mini Mini
How this page was made
Assembled from public sources on 2026-06-04, not yet reviewed by the maintainer. Each figure links to where it is stated; a value the sources do not state reads "not published". Last source review: official source review 2026-06-07.
Original files stay intact and separately licensed; Motari adds only the summary on this page. Maintainer? Request a correction or removal.
Badge for the README
Maintain OpenQuadruped (Adham Elarabawy)? Show its reproducibility score in the project's README. The badge links back to this page and updates with the score.
[](https://motari.io/r/open-quadruped-elarabawy)<a href="https://motari.io/r/open-quadruped-elarabawy"><img src="https://motari.io/api/v1/badge/open-quadruped-elarabawy" alt="Motari reproducibility score for OpenQuadruped (Adham Elarabawy)" height="20"></a>Not fully met yet: bom evidence (partial), build instructions (partial), oshw-compatible license (partial). The score is read from the project's own sources, so publishing what is missing is what raises it. A score of 90 or more needs a reviewed build. How the score is computed