Auto-assembled, not yet reviewed

TOPS

3D-printed 12-DoF quadruped with source workbook BOM and full CAD assembly.

Dormant. No upstream changes for two years or more. It may still build, but parts, firmware and docs may have drifted.

Last push to aaedmusa/TOPS: 2023-10-06 (GitHub, checked 2026-10-01).

  • No license file
  • robot dog12 DoF
  • $3,329.27source total
TOPS 12-DoF robot dog, 3D render from TOPS CAD Assembly.zip
main assembly 3D · TOPS CAD Assembly.zip

About TOPS

TOPS (Traverser of Planar Surfaces, 'SPOT' backwards) is Aaed Musa's 3D-printed source-published quadruped. Each of the 12 joints pairs a 90KV brushless motor with an ODrive S1 FOC controller, coordinated by a Teensy 4.1; the abduction and hip joints use a 3D-printed 9:1 planetary gearbox and the knees a 9:1 belt reduction. The repo publishes the CAD assembly, a BOM spreadsheet, a full wiring schematic, and the Teensy control code. The repository ships no license file, so no reuse rights are granted by default. The build log reports that the knee belts skip, the robot cannot jump and each leg is calibrated manually at startup.

Licenses

Docs
Not published

Degrees of freedom

12 DoF hip 4abad 4knee 4

Breakdown source

Quadrupedsource

How to build TOPS

5 steps

Steps marked Motari summary condense the linked source; follow the source for exact instructions. Upstream step marks a step taken from the linked guide.

  1. Print the actuators and frame

    Print the 9:1 planetary gearboxes and structural parts from the TOPS CAD Assembly.zip; the frame combines printed parts with carbon fibre.

    Motari summaryhackaday.io/project/192122-tops-quadruped
  2. Build 12 QDD actuators

    Build the 12 actuators, each a 90KV brushless motor driven by an ODrive S1. The abduction and hip actuators use a printed 9:1 planetary gear set; the knee actuators use a 9:1 belt and pulley reduction instead.

    Motari summaryhackaday.io/project/192122-tops-quadruped
  3. Wire per the schematic

    Follow Full Robot Schematic.png: CAN from the Teensy 4.1 through a CAN transceiver to all 12 ODrive S1 controllers, plus the 6S LiPo power. The transceiver is not in the upstream BOM.

    Motari summaryhackaday.io/project/192122-tops-quadruped
  4. Cast silicone feet

    Fit 30A silicone feet to the leg ends for grip.

    Upstream stephackaday.io/project/192122/log/223929-full-robot-build
  5. Flash and tune

    Set up each actuator in the ODrive GUI (settings, motor calibration and CAN bus node ID), then upload TOPS_Workout.ino with the Arduino libraries from the repo. Each leg is calibrated by hand on startup before running the trot gait.

    Motari summaryhackaday.io/project/192122-tops-quadruped
Print timenot published
Assembly timenot published

Wiring, power and firmware are safety-relevant and shown for reference only. Check them against the source before building.

TOPS bill of materials

16 rows

Cost to build

$3,329.27USDsource total
  • workbook total: 4 leg assemblies (12 Eaglepower 8308 90KV motors, 12 ODrive S1) plus electronics and frame; excludes the CAN transceiver shown in the schematic$3,329.27source total

In the source currency, as read on 2026-09-30. Not converted, and not checked against current vendor prices: none of these is a Motari-verified checkout total.

TOPS parts, as the source lists them (read 2026-09-30). Prices are the source's, not checked against vendors.

TOPS bill of materials
PartQtySpecSourceConfidence
Leg AssemblySingle-leg source BOM total is $757.45; robot workbook allocates four legs
4Four source workbook leg assemblies; each single-leg BOM includes ABAD, hip, knee actuator and leg hardware sections
see the project's workbook$757.45 each; $3,029.80 totalTOPS BOM.xlsx Robot Assembly BOM row 6
high
Teensy 4.1 MicrocontrollerRobot assembly electronics row
1Main controller
see the project's workbook$35.38TOPS BOM.xlsx Robot Assembly BOM row 7
high
6S 5200mAh 60C LiPo BatteryMain robot battery
16S 5200mAh 60C LiPo
see the project's workbook$69.99TOPS BOM.xlsx Robot Assembly BOM row 8
high
16x2 LCD ScreenAllocated from a three-pack in the source workbook
116x2 LCD screen
see the project's workbook$3.66TOPS BOM.xlsx Robot Assembly BOM row 9
high
SPST SwitchAllocated from a 16-pack in the source workbook
1SPST switch
see the project's workbook$0.44TOPS BOM.xlsx Robot Assembly BOM row 10
high
5V RegulatorAllocated from a four-pack in the source workbook
15V regulator
see the project's workbook$3.22TOPS BOM.xlsx Robot Assembly BOM row 11
high
Voltage DisplayAllocated from a two-pack in the source workbook
1Voltage display
see the project's workbook$4.95TOPS BOM.xlsx Robot Assembly BOM row 12
high
RC Transmitter and ReceiverSource workbook spelling: Reciever
1RC transmitter and receiver
see the project's workbook$54.99TOPS BOM.xlsx Robot Assembly BOM row 13
high
USB IsolatorRobot assembly electronics row
1USB isolator
see the project's workbook$14.99TOPS BOM.xlsx Robot Assembly BOM row 14
high
XT60H ConnectorsAllocated from a 12-pack in the source workbook
5XT60H connector pack allocation
see the project's workbook$3.33TOPS BOM.xlsx Robot Assembly BOM row 15
high
22 AWG WireSource workbook uses a fractional units-needed value; rounded to whole units here
122 AWG wire, 0.25 source unit allocation
see the project's workbook$4.25 allocatedTOPS BOM.xlsx Robot Assembly BOM row 16
high
14 AWG WireSource workbook uses a fractional units-needed value; rounded to whole units here
114 AWG wire, 0.25 source unit allocation
see the project's workbook$5.25 allocatedTOPS BOM.xlsx Robot Assembly BOM row 17
high
26mm OD x 24mm ID x 500mm carbon fiber tube stockThe workbook allocates 2000 mm of tube; the build log says the frame uses 4 carbon fiber tubes
426mmOD x 24mmID x 500mm carbon fiber tube stock
see the project's workbook$59.96 allocatedTOPS BOM.xlsx Robot Assembly BOM row 21
high
30A Silicone A-B mixRobot assembly general-parts row
130A silicone A-B mix for feet
see the project's workbook$27.69TOPS BOM.xlsx Robot Assembly BOM row 22
high
PLA FilamentRounded to whole units here; gram allocation preserved in spec
1PLA filament, 569g allocation
see the project's workbook$11.38 allocatedTOPS BOM.xlsx Robot Assembly BOM row 23
high
CAN transceiverShown in the full robot schematic but missing from the upstream workbook, so it is not in the $3,329.27 total
1CAN transceiver on Teensy 4.1 pins 22 and 23
you source itprice not listedFull Robot Schematic.png and the Hackaday build log
high

Rows from the source's own parts list 17

TOPS BOM.xlsx@516cf9bxlsx

Source rowQtyPrice and vendorLine
Leg Assembly
4
vendor not listed$3029.80
L6
Teensy 4.1 Microcontroller
1
vendor not listed$35.38
L7
6S 5200mAh 60C LiPo Battery
1
vendor not listed$69.99
L8
16x2 LCD Screen
1
vendor not listed$3.66
L9
SPST Switch
1
vendor not listed$0.44
L10
5V Regulator
1
vendor not listed$3.22
L11
Voltage Display
1
vendor not listed$4.95
L12
RC Transmitter and Receiver
1
vendor not listed$54.99
L13

8 more rows in TOPS BOM.xlsx

README.md@516cf9bmarkdown

Source rowQtyPrice and vendorLine
README rounded total and hardware summary
vendor not listed$3300.00
L10

TOPS source files

7 files

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.

TOPS in simulation

Robot description files a simulator or CAD tool can load, linked at the commit they were found.

No URDF, MJCF, SDF, USD or Onshape model has been found in the sources.

The 3D specimen on this page is converted from TOPS CAD Assembly.zip at 516cf9b.

Builds of TOPS

0 reviewed

No reviewed builds of TOPS 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

Last push to aaedmusa/TOPS: 2023-10-06 (checked 2026-10-01)

Related links

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: source BOM.xlsx 516cf9b.

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 TOPS? Show its reproducibility score in the project's README. The badge links back to this page and updates with the score.

Badge: reproducibility 73/100

Markdown
[![Motari reproducibility score for TOPS](https://motari.io/api/v1/badge/tops-quadruped)](https://motari.io/r/tops-quadruped)
HTML
<a href="https://motari.io/r/tops-quadruped"><img src="https://motari.io/api/v1/badge/tops-quadruped" alt="Motari reproducibility score for TOPS" height="20"></a>

Not fully met yet: build instructions (partial), oshw-compatible license. 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