Q8bot
Palm-sized 8-DoF quadruped on a single PCB, no wires, fully open.
- MIT
- robot dog8 DoF
- $337.29source total
About Q8bot
Q8bot is a miniature quadruped from UCLA's Robotics and Mechanisms Laboratory (RoMeLa) that is roughly the size and weight of a smartphone yet can walk, trot, bound, and jump. Its eight DYNAMIXEL XL330-M077-T smart servos mount directly to a single custom PCB that doubles as the chassis, eliminating wiring; a Seeed Studio XIAO ESP32C3 handles wireless ESP-NOW control. The repository ships STEP and STL CAD, PCB Gerbers and schematics, PlatformIO firmware for the controller and motor config, a Python toolchain, and three step-by-step guides (sourcing, assembly, software). It was presented as a design paper at IROS 2025. The README also advertises a successor, Q8botOne.
Licenses
- Hardware
- MIT
- Software
- Not published
- Docs
- Not published
Degrees of freedom
8 DoF legs 8
Quadrupedsource
How to build Q8bot
5 stepsSteps marked Motari summary condense the linked source; follow the source for exact instructions. Upstream step marks a step taken from the linked guide.
Source the components
Order 8x XL330-M077-T servos, the XIAO ESP32C3, 692ZZ bearings, 14500 cells, and have the PCB fabricated/assembled via PCBWay (or self-assemble). Follow sourcing_components.md.
Upstream stepgithub.com/EricYufengWu/q8bot/blob/f86fefca7d849c4a19278cbb4...Print the structural parts
Print or MJF-outsource the Frame, upper-leg and lower-leg parts (STL in the hw release). Roughly 18 printed parts.
Upstream stepgithub.com/EricYufengWu/q8bot/blob/f86fefca7d849c4a19278cbb4...Configure the servos
For new motors, upload q8bot_motor_config to the PCB and plug the motors in one at a time so the firmware sets IDs 11 to 18. For re-used motors, set IDs with Dynamixel Wizard 2.0 and a U2D2 before mounting, per DXL_config_manual.
Motari summarygithub.com/EricYufengWu/q8bot/blob/main/docs/instructions/ro...Assemble onto the PCB
Attach the battery clips to the two printed frames, screw the frames to the PCB and solder the clips, and press the 12 bearings into the leg links. Plug each motor onto its PCB header, secure it with two screws, then fit the legs per robot_assembly.md.
Upstream stepgithub.com/EricYufengWu/q8bot/blob/f86fefca7d849c4a19278cbb4...Flash firmware and drive
Flash the ESP-NOW controller and robot firmware, pair via the dongle, and operate with the Python tools or joystick.
Upstream stepgithub.com/EricYufengWu/q8bot/blob/f86fefca7d849c4a19278cbb4...
Wiring, power and firmware are safety-relevant and shown for reference only. Check them against the source before building.
Q8bot bill of materials
6 rowsCost to build
- self-printed FDM parts and self-reflowed PCB
- MJF printed parts
- MJF printed parts and PCB assembly
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.
Q8bot parts, as the source lists them. Prices are the source's, not checked against vendors.
| Part | Qty | Spec | Source | Confidence |
|---|---|---|---|---|
DYNAMIXEL XL330-M077-T servosmart serial bus servo; source requires 8 motors | 8 | 8 x XL330-M077-T at $27.49 unit cost; included M2 screws | Robotis$214.58 final cost with taxes/shipping; $219.92 item costFrom Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
Seeed Studio XIAO ESP32C3separate wireless control MCU; assembled PCB option includes another microcontroller | 1 | second wireless XIAO ESP32C3 plus Keystone battery clips in DigiKey cart | Seeed Studio via DigiKey cartincluded in $13.83 DigiKey support-components line for assembly scenario; $44.03 full PCB-components line for self-reflow scenarioFrom Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
Custom main PCB assemblyPCB doubles as chassis; order assembled from PCBWay or self-assemble from release PCBA files | 1 | main PCB route differs by scenario: self-reflow components/blank PCB or PCBWay assembled board plus support components | PCBWay, DigiKey, JLCPCB or equivalent$100.00 PCB assembly estimate plus $13.83 support-components line in outsourced assembly scenario; $44.03 components and $35.02 blank PCB/stencil in self-reflow FDM scenarioFrom Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
692ZZ ball bearing2 mm x 6 mm x 3 mm shielded bearings | 12 | 2 packs of 10 bearings listed; robot needs 12 total 692ZZ bearings | Amazon / equivalent bearing supplier$21.38 final cost with taxes/shipping; $19.98 item cost for two packs of 10From Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
KeepPower 14500 P1450C2 Li-ion batteryprotected 14500 cells for robot power | 2 | 2 x KeepPower 14500 1000mAh P1450C2 protected button-top cells | Illumn / equivalent battery supplier$21.28 final cost with taxes/shipping; $13.98 item costFrom Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
3D-printed structural parts setFDM or MJF frame and leg set; release ZIP contains STL and STEP CAD | 1 | 2 frames, 4 left lower legs, 4 right lower legs, 4 short upper legs, 4 tall upper legs; sheet lists FDM and MJF scenarios | 3D print yourself in PLA, or JLC3DP/JLCPCB-style MJF service$1.00 FDM filament sheet cost or $64.61 outsourced MJF/3DP order scenario costFrom Q8bot public BOM Google Sheet, linked in sourcing_components.md | high |
Rows from the source's own parts list 8
docs/instructions/robot_assembly.md@7a79456markdown
docs/instructions/sourcing_components.md@7a79456markdown
| Source row | Qty | Price and vendor | Line |
|---|---|---|---|
Q8bot priced BOM scenarios from linked Google Sheet | 3 scenarios | docs.google.com$337.29 / $365.88 / $435.68 final sheet totals | L12 |
DYNAMIXEL XL330-M077-T | 8 | robotis.us$214.58 final sheet cost with taxes/shipping; $219.92 item cost | L29 |
692ZZ Ball Bearing | 2 packs of 10; robot needs 12 bearings | amazon.com$21.38 final sheet cost with taxes/shipping; $19.98 item cost | L34 |
14500 KeepPower 1000mAh P1450C2 | 2 | illumn.com$21.28 final sheet cost with taxes/shipping; $13.98 item cost | L40 |
Q8bot PCB assembly and support electronics priced scenarios | 1 | pcbway.comdigikey.com$100.00 PCB assembly estimate plus $13.83 support-components line; self-reflow alternatives are $44.03 PCB components and $35.02 blank PCB/stencil | L51 |
Q8bot 3D-printed structural parts set | 18 | self-print or MJF service$1.00 FDM filament sheet cost or $64.61 outsourced MJF/3DP order final scenario cost | L78 |
Q8bot source files
10 files- firmware/q8bot_robot/platformio.ini
- firmware/q8bot_controller/platformio.ini
- firmware/q8bot_motor_config/platformio.ini
- python-tools/docs/Flowchart-v1.2.0.drawio.pdf
- python-tools/docs/Flowchart.pdf
- docs/instructions/sourcing_components.md
- hw-v2.5/CAD/Q8bot_rev2_5_FDM.STEP
- hw-v2.5/CAD/Q8bot_rev2_5_MJF.STEP
- hw-v2.5/CAD/Q8_V2.5_FDM/*.STL
- hw-v2.5/PCBA/Gerbers_20251110.zip
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.
Q8bot 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 hw-v2.5/CAD/Q8bot_rev2_5_FDM.STEP at 91c9824.
Builds of Q8bot
0 reviewedNo reviewed builds of Q8bot 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/EricYufengWu/q8botf86fefc
- Build guidegithub.com/EricYufengWu/q8bot/blob/main/docs/instructions/ro...f86fefc
- Hardwaregithub.com/EricYufengWu/q8bot/releases/tag/v1.2.1f86fefc
Last push to EricYufengWu/q8bot: 2026-06-21 (checked 2026-10-01)
How this page was made
Assembled from public sources on 2026-06-07, 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 sheet parsed with priced scenarios.
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 Q8bot? 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/q8bot)<a href="https://motari.io/r/q8bot"><img src="https://motari.io/api/v1/badge/q8bot" alt="Motari reproducibility score for Q8bot" height="20"></a>Not fully met yet: bom evidence (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