Stanford Pupper v3 12-DoF robot dog, 3D render from pupper_v3_complete.xml, the project's simulation model

Stanford Pupper v3

A 12-DoF teaching robot dog from the Stanford Pupper line, on brushless GIM4305 actuators and a Raspberry Pi 5 with an RL walking policy; documented by Hands-On Robotics.

Start the build

What it is

Pupper v3 is a robot dog designed to teach robotics and AI, with a curriculum developed over years of Stanford course instruction; Hands-On Robotics publishes its documentation, and the Stanford Doggo authors named it as their next robot when they ended support for Doggo. It has 12 degrees of freedom, three per leg, driven by Steadywin GIM4305 brushless actuators with 10:1 planetary gearboxes, a Raspberry Pi 5 with an M.2 slot for an AI accelerator, a BNO086 IMU, a fisheye camera in the nose, a 4-inch face screen, a speaker and ear servos, and weighs about 3 kg. It walks with a reinforcement learning policy trained in simulation. The docs say everything is open source and estimate about 2,000 USD to build one; they link a BOM sheet with print settings and a Drive STL for every printed part, Gerber, BOM and placement files for the control and power boards, an 80-slide illustrated build guide, a Fusion 360 model (an Onshape link in the docs did not open anonymously), and the control board firmware. The software monorepo (GPL-3.0) holds the ROS 2 stack and the MuJoCo and URDF models (MIT); the docs are AGPL-3.0, and no license is stated for the hardware. Kits are sold by Present Perfection and AIFitLab. The 3D view is the project's MuJoCo model, a simulation model.

Licenses

Software
GPL-3.0

Degrees of freedom

12 DoF legs 12

Breakdown source

Quadrupedsource

Auto-assembled, not yet reviewed

Source record

HW license
No license file
Cost
$2,000estimate, self-sourced build, the docs' estimate
Lifecycle
Active
Engine
v3.1.1
Checked
Model
pupper_v3_complete.xml@6f96c5ethe project's simulation model in Nate711/pupperv3-monorepo, not its build CADrendered 2026-10-02
Envelope
243 × 259 × 321 mmas in the simulation model, default pose

Maintain Stanford Pupper v3? Claim this page to correct it.

Parts and cost

30 rows

Cost to build

$2,000USDestimate
  • self-sourced build, the docs' estimate$2,000estimate
  • Pupper V3 Full Kit from Present Perfection, the kit builder the docs name$3,400vendor kit

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

Stanford Pupper v3 parts, as the source lists them. Prices are the source's, not checked against vendors.

Stanford Pupper v3 bill of materials
PartQtySpecSourceConfidence
M2.5x25 socket headListed under Stand; the build slides use four to fix the control board to the brain bracket
4M2.5x25 socket head
McMaster-Carr4 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
PETG HF 1.75mm for structureFilament for the printed parts
1PETG HF 1.75mm for structure
Bambu Lab20 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
M2.5x10 socket headMain assembly screw
100M2.5x10 socket head
McMaster-Carr7 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
M2.5 heat-set tapered threaded insertSet into the printed parts with a soldering iron
100M2.5 heat-set tapered threaded insert
McMaster-Carr17 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
M3x8 cap headLeg and bracket screws
50M3x8 cap head
McMaster-Carr4 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
Squash ball single or double yellow dotGlued to the lower legs as feet
4Squash ball single or double yellow dot
Amazon15 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
14x4in Waveshare HDMI Raspberry Pi screen
Amazon75.99 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
Rasberry Pi 5 8gbMain computer
1Rasberry Pi 5 8gb
Digi-Key80 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
USB Flash drive 128 gbBoot drive for the Pupper OS image
1USB Flash drive 128 gb
Amazon14 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
2x20 female header extensionRaises the control board on the Pi header
12x20 female header extension
Adafruit2.5 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
Pi hat control boardCustom board; requires a BNO086 IMU; firmware SPIneV1
1Pi hat control board
PCB files: Control Board Rev 3.560 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] AI kitOptional in the sheet; the build slides fit its accelerator
1AI kit
CanaKit70 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
1M.2 adapter board for AI kit
Waveshare13 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] Arducam IMX296Optional in the sheet; the nose camera
1Arducam IMX296
Amazon62 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] Fisheye lensOptional in the sheet
1Fisheye lens
UCTRONICS15 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] Lens holderOptional in the sheet
1Lens holder
UCTRONICS3 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
1Wireless lapel microphone usb
Amazon12 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] SpeakerOptional in the sheet
1Speaker
Adafruit4 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
1Power distribution board
PCB files: Power Board Rev 3.515 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
Tabs for distribution boardBattery connector tabs
2Tabs for distribution board
Digi-Key0.42 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
2Dewalt 20V powerstack battery 1.7Ah
Amazon100 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
1PS5 Wireless Controller
Amazon75 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
[Optional] Ear servosOptional in the sheet
2Ear servos
Adafruit12 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
Steadywin GIM4305 with SHS driverThe sheet says to select the Pupper v3 version, or flash and configure the drivers yourself
12Steadywin GIM4305 with SHS driver
AIFitLab1320 approx. line total (currency not stated)Pupper v3 BOM Google Sheet, tab v3.5
high
12" JST ZH pre-crimped cableFor the ID 3 knee motors
2412" JST ZH pre-crimped cable
Digi-Keyprice not listedPupper v3 BOM Google Sheet, tab v3.5
high
8" JST ZH pre-crimped cableFor the ID 2 abduction and adduction motors
248" JST ZH pre-crimped cable
Digi-Keyprice not listedPupper v3 BOM Google Sheet, tab v3.5
high
6" JST ZH pre-crimped cableFor the ID 1 hip motors
346" JST ZH pre-crimped cable
Digi-Keyprice not listedPupper v3 BOM Google Sheet, tab v3.5
high
6pin JST ZH housingCable housings
246pin JST ZH housing
Digi-Keyprice not listedPupper v3 BOM Google Sheet, tab v3.5
high
10pin JST ZH cableControl board to power board
110pin JST ZH cable
Amazonprice not listedPupper v3 BOM Google Sheet, tab v3.5
high
10mm cable wrap braided sleevingCut into leg cable segments
1210mm cable wrap braided sleeving
not linkedprice not listedPupper v3 BOM Google Sheet, tab v3.5
high

Rows from the source's own parts list 31

Pupper v3 BOM sheet, v3.5 tabgoogle_sheet

Source rowQtyPrice and vendorLine
M2.5x25 socket head
4
McMaster-Carr4 (currency not stated)
L23
PETG HF 1.75mm for structure
1
Bambu Lab20 (currency not stated)
L27
M2.5x10 socket head
100
McMaster-Carr7 (currency not stated)
L28
M2.5 heat-set tapered threaded insert
100
McMaster-Carr17 (currency not stated)
L29
M3x8 cap head
50
McMaster-Carr4 (currency not stated)
L30
Squash ball single or double yellow dot
4
Amazon15 (currency not stated)
L31
4x4in Waveshare HDMI Raspberry Pi screen
1
Amazon75.99 (currency not stated)
L36
Rasberry Pi 5 8gb
1
Digi-Key80 (currency not stated)
L37

23 more rows in Pupper v3 BOM sheet, v3.5 tab

How to build

13 steps

Upstream step marks a step taken from the linked guide.

  1. Buy and print the parts

    Order the parts on the v3.5 BOM sheet, including twelve Steadywin GIM4305 actuators with SHS drivers (the Pupper v3 version), a Raspberry Pi 5, the two custom boards and two DeWalt 20V batteries, and print the body, leg, bracket and ear parts in PETG (the strap in TPU) with the settings the sheet gives for each part.

    Upstream stepdocs.google.com/spreadsheets/d/1e6Hyhc8V6_9mfPMaPCI1v3W4uGBJ...
  2. Flash the boards

    Flash and configure the motor drivers with the Pupper firmware and settings (motor driver flashing instructions), then flash the control board with the Pupper firmware.

    Upstream stepgithub.com/HandsOnRobotics/pupper-v3-documentation/blob/c25c...
  3. Prepare the hardware

    Use a soldering iron at 250 C to set the threaded inserts into the printed parts, glue squash balls to the lower legs with super glue, and replace the camera's lens holder with the short lens holder and fisheye lens, focusing it on the Raspberry Pi 5 with rpicam-hello if needed.

    Upstream stepgithub.com/HandsOnRobotics/pupper-v3-documentation/blob/c25c...
  4. Build the brain

    Fit the thermal pads and the M.2 adapter board on the Raspberry Pi 5, move the AI accelerator into the adapter's M.2 slot, press on the header extension, connect the HDMI screen and the camera cable, then mount the camera on the brain bracket, the bracket on the Pi and the control board on the bracket with four M2.5x25 screws so its pogo pins meet the Pi's pins. Add the speaker and the USB stick.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  5. Test the brain

    Power the Raspberry Pi from a 5V USB-C supply and wait for the PiOS desktop. With a mouse and keyboard, stop the robot service, check the camera with rpicam-hello, the accelerator with lspci and the speaker with speaker-test.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  6. Assemble the body

    Fix the ear servos to the upper body, mount the brain and plug the servos into the L and R connectors, wire the 10-pin cable between the power distribution board and the control board, mount the power board with its two top screws, connect the two front hip motors with the 6-inch cable and screw them in with the cables toward the control board, then fit the cover, the bottom body and the knob.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  7. Power-test the body

    Insert the battery into the power board until it clicks; it must not stick out past the bottom of the body. Press the power button: the screen should turn on and the front two motors rotate slowly. If not, check the battery and the USB drive flashing and motor settings. Press the button again to turn the robot off.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  8. Build the legs

    Connect the 12-inch cable to motor ID 3 and the 8-inch cable to motor ID 2, sleeve flush with the motor and pin 1 to pin 1. Fix the lower leg to motor 3 with three M3x8 screws and the upper leg over it, remove the motor screw that blocks the upper leg, fasten it with M2.5x10 screws, and close the cable cover with four more. Build four legs.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  9. Attach the front legs

    Fix the abduction bracket with three M3x8 screws, route motor 2's cable under the bracket's block, remove the motor screw that blocks the bracket and fasten motor 2 from both sides, then attach the leg to motor 2 with three M3x8 screws. Route both cables through the side hole into the tan connectors, and before tightening the front cable clamp rotate the abduction bracket to each stop so the hip moves fully without pulling the wires.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  10. Attach the back legs

    Connect the 6-inch cable to motor 1, fix motor 1 to the body with two M2.5x10 screws and plug it into the power board, then add the abduction bracket, motor 2 and the leg as for the front legs, left to left and right to right. Plug the motor 2 and 3 cables into the power board and set the back cable clamp the same way.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  11. Close the body

    Screw the strap to the power board cover, fix the cover with six M2.5x10 screws and the bottom body with four on each side, slide the joint cover bracket into place and attach the ears to the ear servos.

    Upstream stepdocs.google.com/presentation/d/10pe-J3zd4QESnqR-5TIyVrtoOJ6w...
  12. Install the OS

    Flash the full pupOS image to the USB drive with Raspberry Pi Imager 1.8.5 (not Balena Etcher), set the hostname to pupper and the username to pi, enable SSH, then plug the drive into a blue USB 3 port and pair the PS5 controller.

    Upstream stepgithub.com/HandsOnRobotics/pupper-v3-documentation/blob/c25c...
  13. Run Pupper

    Slide in the DeWalt battery until the latch locks, power on with the switch on the back and let the calibration finish (the legs move to their endstops, then rest). Turn on the controller and press release e-stop to start the walking policy. There is no hardware low-voltage cutoff, so do not run it longer than 40 minutes.

    Upstream stepgithub.com/HandsOnRobotics/pupper-v3-documentation/blob/c25c...
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.

How reproducible

How confidently this design builds into a working robot, from what its sources publish: each criterion's points, quality tier and evidence.

73/100Partial source coverage, unverified
  • metCAD / mesh presentReviewedThe docs' Fusion 360 link opens a public Autodesk share of the full Pupper v3.5 assembly with download enabled; a reviewer opened it. The docs' Onshape link could not be opened anonymously.20/20

    Quality tier 3 of 3

    Reviewed override, 2026-10-02

    Evidence on a360.co

    Engine alone: partial at tier 2 (Onshape CAD linked, not inspected by the engine; no editable CAD source in the repo)

  • metBOM evidenceReviewedThe docs-linked Google Sheet (v3.5 tab) lists the parts with quantities, approximate line costs and buy or file links, and totals 2158.91 (min 1785.91) with no currency stated. The engine does not open Google Sheets.20/20

    Quality tier 4 of 5

    Reviewed override, 2026-10-02

    Evidence on docs.google.com

    Engine alone: partial at tier 1 (BOM spreadsheet linked, not inspected by the engine)

  • partialWiring diagramwiring described in text only, no diagram7.5/15
  • metFirmware linkedcontrol software linked (software source Nate711/pupperv3-monorepo)10/10
  • metBuild instructionsReviewedThe build page embeds an 80-slide Google Slides guide with a photo for each step, from flashing the boards through the brain, body and legs. No build video. The engine does not open Google Slides.15/15

    Quality tier 2 of 3

    Reviewed override, 2026-10-02

    Evidence on docs.google.com

    Engine alone: partial at tier 1 (build section in the docs, no step-by-step guide with images)

  • missingOSHW-compatible licenseno hardware license detected0/10

    Quality tier 0 of 2

    The engine found nothing to point at for this item.

  • missingKnown reproductionsno verified builds yet0/10

    Quality tier 0 of 2

    Only build reports a maintainer or admin has reviewed count here.

Engine v3.1.1 at c25c91d, 3 items reviewed by hand

  • The engine found no license file for the hardware in the hardware source.
How this score is computed

Files and sim

6 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.

Simulation

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

The 3D specimen on this page is converted from ros2_ws/src/pupper_v3_description/description/mujoco_xml/pupper_v3_complete.xml at 6f96c5e, the project's simulation model in Nate711/pupperv3-monorepo, not its build CAD.

Builds

0 reviewed

No reviewed builds of Stanford Pupper v3 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

Where the facts come from

Last push to HandsOnRobotics/pupper-v3-documentation: 2025-10-20 (checked 2026-10-02)

Related links

How this page was made

Assembled from public sources on 2026-10-02, 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: 2026-10-02 HandsOnRobotics/pupper-v3-documentation@c25c91d, Nate711/pupperv3-monorepo@6f96c5e; BOM sheet v3.5 and build slides.

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 Stanford Pupper v3? 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 Stanford Pupper v3](https://motari.io/api/v1/badge/stanford-pupper-v3)](https://motari.io/r/stanford-pupper-v3)
HTML
<a href="https://motari.io/r/stanford-pupper-v3"><img src="https://motari.io/api/v1/badge/stanford-pupper-v3" alt="Motari reproducibility score for Stanford Pupper v3" height="20"></a>

Not fully met yet: wiring diagram (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