Open Source RoboticsRobots, software & field notes

Upkie

Based on published sources · Not tested by us ·

Overview

Wheeled biped with four leg servos, two driven wheels and a Raspberry Pi control stack; the reviewed build guide needs revision matching. [S001]

Upkie is a wheeled biped: four leg servos change its posture while two driven wheels balance and move it. The v12.0.0 software offers Python and C++ development, with a Raspberry Pi on the robot and PyBullet examples for a first simulation trial. The reviewed BOM specifies four qdd100 servos, two moteus wheel-actuator kits and a Raspberry Pi 4 with pi3hat. [S001] [S002] [S005]

Specifications

DetailDescription
TypeUpkie software v12.0.0 with its 12.0.0 build documentation and linked legacy parts commit 8e539b825affe10ad872741564bdc1c19f4df965; not the newer parts v2.0.0 layout.
Reported by source [S001] [S002] [S006] [S011] [S013] · Checked 2026-09-30
Intended usersRobotics researchers and builders comfortable with actuator setup and printed mechanical assemblies
Editorial assessment [S001] · Checked 2026-09-30
AssemblyPrint and fit the selected legacy parts, assemble torso and leg mechanisms, route separate power/CAN chains, then reconcile head-plate orientation and bus mapping before applying the hardware setup instructions.
Reported by source [S006] [S007] [S008] · Checked 2026-09-30
CalibrationGuide describes actuator IDs 1–6, servo limits, straight-leg hard zeroing and later soft rezero. These routines have not been reproduced here.
Reported by source [S007] [S008] [S009] · Checked 2026-09-30
Operating systemNot known
Computer neededOnboard Raspberry Pi 4; separate development computer for building and uploading the control software.
Reported by source [S005] [S009] · Checked 2026-09-30

3D preview

Preview not available yet. A model has not yet been prepared and approved for display on this page. This does not mean the project lacks CAD files; see Source files and licenses for the reviewed source availability.

Assembly and use

Start with simulation, then choose the physical build

The release README documents a joystick example through Pixi or uv, plus Gymnasium environments for balancing. That is a useful first step before buying the actuator set. The hardware route adds printed parts, an 18 V compatible battery, power distribution, CAN/power cables, RC wheels and a gamepad. No complete current delivered cost is established by this review. [S001] [S005]

The 12.0.0 printing guide links parts commit 8e539b8, which we preserved with its license. It describes a torso assembled from separate plates and covers, and leg pieces including femur, tibia, knee and ankle. The newer parts repository instead documents a case, lower/upper legs and a different wheel-hub layout. Treat these as different source configurations; do not assume the newest files match the older assembly instructions. [S006] [S011] [S012] [S013]

Resolve two guide inconsistencies before assembling

The assembly page says the Raspberry Pi USB side faces the robot's right during the head-plate step, then says left in the later head-assembly step. The same page explains that orientation affects the IMU frame and cable fit. We have not resolved which instruction matches the selected physical configuration. [S008]

The electronics page describes the right leg on bus 3, yet its example command maps that leg to bus 2. Its terminator paragraph also repeats CAN_H for both connector positions. These are reasons to reconcile the guide with the selected board documentation and configuration before wiring, rather than copying the command or connector text as a verified procedure. [S007]

The documented calibration sequence assigns servo IDs, configures limits, performs straight-leg hard zeroing and later uses soft rezero. Printing also involves PETG, heat-set inserts and wheel-hub fitting; the guide notes that a tight hub fit may require iterations. None of this has been physically reproduced here. [S005] [S006] [S007] [S008] [S009]

What the preserved sources cover

Both the reviewed Upkie software and linked legacy parts repository carry Apache-2.0 licenses. Purchased mjbots boards/actuators, their exact firmware and externally linked assembly files need separate revision and license checks before treating the collection as a complete manufacturing pack. This profile provides a source map and identifies build blockers; it is not a tested build guide. [S003] [S005] [S011] [S012]

Cost

No current, complete configuration-specific build cost has been established for this profile.

Source files and licenses

Available project sources support research coverage; complete build and commercial qualification remain separate.

LayerAvailability / license
mechanical designavailable · Apache-2.0
Exact legacy repository linked by the 12.0.0 printing guide; root license inspected. External assembly downloads and purchased actuators have separate scope. [S011] [S012]
electronicsavailable · License not fully assessed
System wiring/testing instructions and purchased-board BOM; not a complete board-manufacturing artifact or a resolved license for all electronics. [S005] [S007]
firmwarenot found · License not fully assessed
mjbots actuator firmware is external; no exact installed firmware revision and artifact-license match established for this profile. [S001] [S005] [S007]
softwareavailable · Apache-2.0
Upkie repository license; independent dependencies retain their own terms. [S001] [S003]
documentationavailable · Apache-2.0
Repository documentation license. Linked website guide is separately captured for evidence; no media reused. [S001] [S003]

This profile selects the documented balancing/control route, not a trained policy or training dataset.

References

Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.

  1. S001 · upkie / project contributors
    Upstream project overview
    Accessed 2026-09-30 · README.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  2. S002 · upkie / project contributors
    Repository revision and release metadata
    Accessed 2026-09-30 · 3f6980f8a1ba7399a6c739113123bafe4cbc39e9
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  3. S003 · upkie / project contributors
    Repository license
    Accessed 2026-09-30 · LICENSE
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  4. S004 · upkie / project contributors
    Pinned repository artifact inventory
    Accessed 2026-09-30 · 3f6980f8a1ba7399a6c739113123bafe4cbc39e9 archive file inventory
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  5. S005 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: bill-of-materials
    Accessed 2026-09-30 · 12.0.0 documentation / bill-of-materials
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  6. S006 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: printing-3d
    Accessed 2026-09-30 · 12.0.0 documentation / printing-3d
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  7. S007 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: electronics-testing
    Accessed 2026-09-30 · 12.0.0 documentation / electronics-testing
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  8. S008 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: assembly
    Accessed 2026-09-30 · 12.0.0 documentation / assembly
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  9. S009 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: motion-control-software
    Accessed 2026-09-30 · 12.0.0 documentation / motion-control-software
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  10. S010 · Stéphane Caron and Upkie contributors
    Upkie 12.0.0 build guide: raspberry-pi-setup
    Accessed 2026-09-30 · 12.0.0 documentation / raspberry-pi-setup
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  11. S011 · upkie / project contributors
    Parts revision linked by the printing guide
    Accessed 2026-09-30 · 8e539b825affe10ad872741564bdc1c19f4df965
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  12. S012 · upkie / project contributors
    License of the linked parts revision
    Accessed 2026-09-30 · 8e539b825affe10ad872741564bdc1c19f4df965 / LICENSE
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

  13. S013 · upkie / project contributors
    Newer parts repository layout
    Accessed 2026-09-30 · 3d6c58b0869d20a721c230638390bc10d2272198 / README.md
    Source notes

    Source text inspected for the cited scoped claims; see profile claim notes.

Research and review details

Source research only; no installation, physical build or performance test performed. No affiliate links added.

Profile edited 2026-09-30 · Sources checked 2026-09-30 · Next review target 2026-10-30

Revision: 3f6980f8a1ba7399a6c739113123bafe4cbc39e9 (release v12.0.0). Combined hardware and software repository activity recorded 2026-07-12 [S002]

Correction guidance · Discussion is not enabled · Profile format 0.5.0-draft.1

Change history