Open Source RoboticsRobots, software & field notes

Hoverbot

Based on published sources · Not tested by us ·

Overview

Two-wheel balancing robot project using a Raspberry Pi, pi3hat and moteus motor controllers, with printed parts and source-defined balance settings. [S005] [S006] [S009] [S013]

The reviewed snapshot is commit 83acee48e6648176f81c7ee471fe97089372dfb5, not a stable release. [S002]

The mjbots hoverbot repository contains the source and design files for a two-wheel balancing robot. The bill of materials selects a Raspberry Pi 4 with 2 GB RAM, pi3hat, two moteus-c1 controllers and a power distribution board. The two configured joints and the pitch, stand-up and drive control code establish the balancing design; this review did not operate it. [S001] [S005] [S006] [S013]

Specifications

DetailDescription
TypeTwo-wheel balancing platform with printed base, chassis and battery mounting pieces.
Design classification from BOM, two configured joints and pitch/drive control source.
Editorial assessment [S005] [S006] [S009] [S013] · Checked 2026-10-01
Intended usersExperienced builders comfortable with motor configuration, C++ and Raspberry Pi deployment
Editorial assessment [S001] · Checked 2026-10-01
AssemblyPrinted PETG parts, heat-set inserts, motor/power wiring and a custom battery PCB are listed; a complete verified assembly sequence was not established.
Reported by source [S004] [S005] · Checked 2026-10-01
CalibrationMatch motor electrical and Hall settings, joint sign, IMU mounting and balance gains to the physical configuration.
Editorial configuration checklist; no calibration performed.
Editorial assessment [S006] [S007] [S008] · Checked 2026-10-01
Operating systemNot known
Computer neededUbuntu 22.04 is the documented host build environment; Raspberry Pi is the deployment target.
Reported by source [S001] · Checked 2026-10-01

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

Available parts do not yet make a complete shopping list

The bill of materials specifies printed components designed for Prusament PETG on a Prusa MK3s with a 0.6 mm nozzle. It also lists heat-set inserts, fasteners, connectors and wiring. The archive contains STL and 3MF files plus KiCad design and fabrication files for the battery PCB. A Fusion 360 assembly is linked separately from the README and was not preserved or inspected here. [S001] [S004] [S005] [S014]

The inspected BOM does not name the exact drive-motor products or the battery pack itself. Battery terminals, mounting hardware and cables do not establish those missing selections. These are material configuration gaps: motor and power choices must be reconciled with the controller settings before a complete build or delivered cost can be specified. No current full cost was verified. [S005] [S008] [S009]

Configuration includes electrical details

The motor setup utility programs two servo IDs on separate pi3hat buses. Its values include Hall sensor configuration, motor pole count, winding resistance, voltage constant and controller gains. The script still carries a quad A1 description, so the file name or introductory comment alone is not a reliable guide to its applicability; the actual two-channel configuration needs inspection. [S008]

Preserve utils/config_servos.py with servo 1 on bus 1 and servo 2 on bus 3, including the complete motor settings. Preserve configs/hoverbot.cfg with joint 2 sign −1 and all pitch, yaw and drive gains. In configs/hoverbot.ini, mounting yaw/pitch/roll are 90/0/90 degrees, the real-time and pi3hat CPU affinities are 2 and 3, and max_torque_Nm=3. These values describe the selected source configuration. They are not verified limits or a universal calibration for substitute motors, a differently mounted board or a changed chassis. [S006] [S007] [S008]

Keep the host build and target setup distinct

The README says the host setup should work on Ubuntu 22.04 and gives separate Bazel targets for host tests and a Raspberry Pi deployment archive. The dependency definitions pin moteus and pi3hat to specific commits and archive hashes. Those declarations help identify a build, but the external archives and complete board firmware were not validated as a working combination here. [S001] [S010] [S011]

The preserved target setup script is under utils/rpi3 and describes a Pi 3B+, whereas the BOM specifies Pi 4. It changes boot, network and service settings. Treat it as source to reconcile with the intended target image, rather than proof that an unmodified setup works on every Pi. No setup script, build target or controller configuration was executed during this review. [S005] [S012]

Scope of the release

The project states that most hardware and software files use Apache 2.0, and the root license notice refers to that license. The preserved mechanical and battery-PCB artifacts are recorded under that project-level statement; external components and dependencies retain their own terms. The profile does not claim a preserved native Fusion assembly, a complete matching firmware set, or a reproduced balancing result. [S001] [S003] [S004] [S010] [S011]

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
STL and 3MF files preserved under project-level terms; linked Fusion 360 assembly not preserved or inspected. [S001] [S003] [S004] [S005]
electronicsavailable · Apache-2.0
Battery PCB KiCad files and fabrication outputs present. Other purchased electronics are external components. [S001] [S003] [S004]
firmwarenot found · License not fully assessed
Motor configuration utility and external dependency revisions present, but complete matching board firmware payloads were not preserved in this review. [S008] [S010] [S011]
softwareavailable · Apache-2.0
Project states most hardware and software files are Apache 2.0; individual notices and dependency terms remain separate. [S001] [S003] [S004]
documentationavailable · Apache-2.0
Project states most hardware and software files are Apache 2.0; individual notices and dependency terms remain separate. [S001] [S003] [S004]

Selected source-defined balancing control route does not use a learned 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 · mjbots / project contributors
    Upstream project overview
    Accessed 2026-10-01 · README.md
    Source notes

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

  2. S002 · mjbots / project contributors
    Repository revision and release metadata
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5
    Source notes

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

  3. S003 · mjbots / project contributors
    Repository license
    Accessed 2026-10-01 · LICENSE
    Source notes

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

  4. S004 · mjbots / project contributors
    Pinned repository artifact inventory
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 archive file inventory
    Source notes

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

  5. S005 · mjbots / project contributors
    Hoverbot: BOM.md
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / BOM.md
    Source notes

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

  6. S006 · mjbots / project contributors
    Hoverbot: configs/hoverbot.cfg
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / configs/hoverbot.cfg
    Source notes

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

  7. S007 · mjbots / project contributors
    Hoverbot: configs/hoverbot.ini
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / configs/hoverbot.ini
    Source notes

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

  8. S008 · mjbots / project contributors
    Hoverbot: utils/config_servos.py
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / utils/config_servos.py
    Source notes

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

  9. S009 · mjbots / project contributors
    Hoverbot: mech/hoverbot_config.h
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / mech/hoverbot_config.h
    Source notes

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

  10. S010 · mjbots / project contributors
    Hoverbot: tools/workspace/moteus/repository.bzl
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / tools/workspace/moteus/repository.bzl
    Source notes

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

  11. S011 · mjbots / project contributors
    Hoverbot: tools/workspace/pi3hat/repository.bzl
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / tools/workspace/pi3hat/repository.bzl
    Source notes

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

  12. S012 · mjbots / project contributors
    Hoverbot: utils/rpi3/setup-system.py
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / utils/rpi3/setup-system.py
    Source notes

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

  13. S013 · mjbots / project contributors
    Hoverbot: mech/hoverbot_control.cc
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / mech/hoverbot_control.cc
    Source notes

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

  14. S014 · mjbots / project contributors
    Preserved mechanical and battery PCB paths
    Accessed 2026-10-01 · 83acee48e6648176f81c7ee471fe97089372dfb5 / archive inventory
    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-10-01 · Sources checked 2026-10-01 · Next review target 2026-10-31

Revision: 83acee48e6648176f81c7ee471fe97089372dfb5 (commit snapshot; no published stable release found). Combined hardware and software repository activity recorded 2025-05-07 [S002]

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

Change history