Building a Mobile AI Assistant: From Desk to Robot
How I gave my Raspberry Pi AI assistant a body by mounting her on an old robot vacuum, fixed her hearing, and what's next for autonomous movement.
In short
- Peaches, a Raspberry Pi 5 AI assistant, now rides on a Neato Botvac robot vacuum instead of staying on a desk.
- Wake-word training improved detection from 16 of 40 test phrases to 38 of 40 with zero false wakes using a personal model layer.
- Early tests revealed power supply issues, USB connection drops, and speaker initialization problems—all fixable with proper hardware setup.
- Real autonomous driving is paused until November 17, when power converters, natural conversation handling, and safety rules will be deployed.
Why a Desk Assistant Needs a Body
When an AI assistant lives on a desk, life is simple. She has steady power, a table that doesn't move, and you stand right in front of her. But the moment she needs to move around your home, everything changes. She has to carry her own power, see obstacles before she hits them, find her way back to charge before the battery dies, and hear you from across the room instead of from arm's length away.
The challenge isn't just moving—it's doing all of that safely while running on limited compute power. That's why I didn't build legs from scratch. Instead, I gave Peaches a ride on top of Pesto, an old Neato Botvac robot vacuum that was sitting unused in my closet.
Why Reuse a Robot Vacuum
Building a mobile base from scratch means buying and wiring motors, bumpers, drop sensors, and a spinning laser to map the room. A robot vacuum already has all of that. Pesto comes with wheels, collision bumpers, cliff sensors that detect stairs, and a 360-degree laser that takes readings in one sweep.
Peaches talks to Pesto through one USB cable. I built a black platform on posts so she sits above the laser without blocking its view. On the first test, she read 360 laser readings in a single sweep, with walls measured between about a third of a metre and one metre away. Then she drove: five centimetres forward and back, then thirty, then a quarter turn. Each command took about 20 milliseconds, faster than a blink.
Everything That Broke (and How I Fixed It)
The first week was a lesson in what goes wrong when you move hardware. Pesto's battery was dead—the old pack read eight volts when a healthy one reads twelve to almost seventeen volts. Below about two and a half volts per cell, these batteries get damaged, so I didn't try to revive it. The new battery came in at ninety-nine percent.
On the second drive, the wheels wouldn't move. The first test had switched them off, and they stayed off. The USB link also dropped eighteen times. The fix was boring: switch the wheels back on at the start of every drive, and push the plug in properly. After that, thirty centimetres there and back with zero drops.
Peaches froze during a third test, and her microphone dropped off. The log said low voltage. I had powered her through a USB switch, which wasn't enough. Back on the official twenty-seven watt Pi power supply, the warning was gone. Then her speaker board wouldn't start after a power cut. A small fix now wakes the speaker up first every time she boots.
Training Her to Hear Better
Out of the box, Peaches' wake word caught only 16 of 40 test phrases. It kept missing the quiet ones and the far ones. So I trained a personal model layer on 80 recordings of 'Hey Peaches'. That brought her up to 38 of 40 with zero false wakes.
Then a new problem emerged: words with a 'ch' sound woke her up by mistake. The fix was to add a second listener that has to agree first. That cancelled all 14 of those false wakes. She also got eleven moods and eyes that follow your voice by tracking which direction the microphone hears it from. Light commands are fast now too—'cabinet on' used to take about one and a half seconds, but now she starts answering in about a tenth of a second.
What's Paused Until November 17
Peaches is switched off right now. She stays off until November 17, when the real work begins. Step one is a power converter that lets her run from a power bank at a full five volts. Step two is real conversations, where she can tell when you've finished talking instead of guessing when to stop listening. Step three is Pesto driving her around for real.
The safety rules are already written: stop on a bump, a lift, or a drop, and never drive below fifteen percent battery. So far they've only run in a pretend room on the computer. When the parts arrive—a head that turns and ears—the code goes on GitHub so you can build your own. The video above goes deeper into how all of this works together.
Other Paths Forward
You don't have to use a robot vacuum. You could build a base from scratch with motors and sensors, or buy a robot kit. But you'd be paying for things an old vacuum in your closet may already have. Or skip wheels altogether. The voice, the face, and the smart home control all work without any movement at all—Peaches works fine on a desk if that's all you need.
The real lesson here is that good hardware reuse saves time and money. An old robot vacuum is a platform with years of engineering already baked in. When you're tinkering with AI and automation, that head start matters.
Watch "My AI Robot Has a Body Now (But She Can't Drive Yet)" on YouTube
Sources
- Raspberry Pi 5 power supply (official 27 W)
- openWakeWord (wake word models)
- BreezySLAM (mapping)
- Pi Pico W
- Raspberry Pi 5 8GB
- Raspberry Pi 5 Starter Kit - 16GB RAM
- NVMe Base for Raspberry Pi 5 M.2 HAT
- PiSugar Whisplay HAT for Raspberry Pi
- ELECROW 5 Inch Mini Touchscreen Monitor
- NIMO Powerful AI Mini PC, AMD Ryzen AI Max+ 395
- NIMO Mini PC, AMD Ryzen AI Max+ 395 128GB LPDDR5X
- AX9 Max Mini PC (vapor chamber), Ryzen AI 9 HX 470
- EVGA GeForce RTX 3090
- Raspberry Pi Zero 2W Kit
- Pi Zero Aluminum Case Kit with Pin Header
- Crucial MX500 2TB 3D NAND SATA 2.5 Inch
- Corsair Vengeance RGB RS DDR5 32GB (2 x 16GB)
- Hosyond 7 inch DSI touchscreen
- DA7212 I2S audio board
- Geekworm X1001 NVMe board for Pi 5
- ELECROW 10.1 inch ESP32-P4 display
- Waveshare ESP32-S3 2.06 inch AMOLED watch