Before you start · Chapter 01 · Time: 30 minutes to read · Level: Beginner · Status: Reference
The whole system on one page - three machines, what each one does, what works today and what does not - and how to use this guide.
lightBot is a Hiwonder ROSOrin Pro robot rebuilt from a blank drive with no Hiwonder software. It drives on four
mecanum wheels, sees with a 360° LiDAR and a depth camera on a six-joint arm, hears and speaks through a
microphone array, and talks to you through a voice assistant called Buddy. The goal it is built for is one
sentence long:
The robot finds Matt and lights up what he is working on, with confidence - on its own.
This guide rebuilds it in the order that works on a fresh install. Every command in it was taken from what was
actually run on this robot between 2026-09-26 and 2026-10-07, unless a box says otherwise.
The robot does not do everything itself. Heavy thinking runs on a desktop PC, and an always-on Mac mini holds the
services you use every day.
| Machine | Address | What it does | Chapters |
|---|---|---|---|
Robot rosorin |
192.168.1.109 (wired), 192.168.1.108 (Wi-Fi) | Drives, maps, avoids obstacles, looks for you, keeps itself healthy. Nothing it needs to drive depends on the other two machines. | 4-24, 27, 30 |
bigbuddy |
192.168.1.111 | Buddy's ears and voice (wake word, speech-to-text, text-to-speech) and the language model the robot asks for ideas. | 25-28 |
server |
192.168.1.122 | Open WebUI (buddy.matttesch.com), Plex, Home Assistant, SearXNG. Buddy uses some of these; the robot uses none of them. | 28 |
Why the work is split this way
On 2026-09-30 a 4-billion-parameter vision model running on the robot used so much of the Jetson's shared
memory that the kernel killed robot processes; the LiDAR reader stalled and the driver stopped the wheels. The
rule since then: bigbuddy and server are the brain and the knowledge, the robot is navigation and vision. A
thought from the 12B model on bigbuddy takes about 1.4 s, against 5-6 s on the robot.
These were measured on the robot and recorded in the repo.
Read this before you spend money or weeks.
Not done
- It has never run 24 hours without help. That is the project's bar for "independent", and it has not
been attempted.- It has not driven the room on its own with the live map. Navigation was tested on a stand and in short
floor tests; a full autonomous floor run with mapping switched on has not been verified.- The work light can be switched on by the robot but not off. The Magicshine HORI 900 has no known
Bluetooth off command. Chapter 30 explains why. The light that the objective needs is still missing.- The training loop has never run. The plan is for the robot to log what it sees, have the models on bigbuddy
label it, and train better models; the pieces exist, the loop does not.- Several docs disagree with the machines. Where they do, this guide teaches what is actually running, and
says so.
The rebuild recorded here took twelve days of daily work, with an AI assistant typing most of the commands. By
hand, and learning as you go, expect several weekends for the robot's base system and driving, and more for the
voice and the mind. Each chapter starts with a time estimate for that chapter only.
You need basic Linux: a shell, ssh, editing files, sudo, apt. You do not need to know robotics. Each robotics idea
is explained the first time a chapter needs it, and chapter 2 explains all of them at once if you prefer that.
Every command block says which machine it runs on:
On the robot:
hostname
On bigbuddy:
hostname
On your laptop:
ssh rosorin-wifi hostname
Commands for your laptop assume the ssh aliases from chapter 6 (rosorin, rosorin-wifi, bigbuddy, server).
The boxes mean:
New idea
A robotics concept, explained the first time it appears.
Check
What to run, and the exact output that means the step worked. Do not move on until it matches.
If it fails
The ways this step went wrong on this robot, and the fix.
Not test-built
Something nobody has done in exactly this way on this robot. The chapter says what is unknown.
Each chapter has a status badge under its title:
| Badge | Meaning |
|---|---|
| Done on this robot | Every step was run on this robot. |
| Partly test-built | Some steps were reconstructed from documentation. |
| Reconstructed, not test-built | The chapter describes a path that was never run here. |
| Reference | Background, no build steps. |
At the end of each chapter, tick "I finished this chapter" once every check passed. The tick is stored in your
browser only.
Before you start
- Charge the 11.1 V 6000 mAh battery only with the included 12.6 V charger. Never plug the charger into the
Jetson's DC jack.- Put the robot on a stand with the wheels in the air for every driving test until chapter 19 says otherwise.
On 2026-10-02 the robot kept rolling after every software stop until the stop paths were rebuilt and proven
on the stand.- Never run
apt autoremoveon the robot. After a package removal apt offers to removeinitramfs-tools,
which the Jetson needs to boot.- Never install the
nvidia-jetpackmeta-package. It upgrades the L4T packages and replaces the OpenCV that
ROS 2 uses, removing 19 packages.- Make a backup you can restore (chapter 8) before every risky step. A milestone is only a milestone if you
can go back to it.
Where this comes from
docs/PLAN.md(objective, milestones),docs/decisions.md2026-09-30 (brain split) and 2026-10-01 (plan),
docs/status.mdmilestone 2026-10-06 (boot timing),docs/motion_safety.md(stop tests),docs/hardware.md
(battery),docs/lessons.md2026-09-26 (autoremove) and 2026-10-02 (rolling),scripts/install_vision.sh
header (nvidia-jetpack),AGENTS.mdrule 8 (24 h bar).