I got a Roomba 694 off Facebook Marketplace. Then I watched it work.
It bumped into a wall, went around, came back, and bumped the same wall again. It wasn't smart at all.
The engineer in me knew a Raspberry Pi and an Arduino could make it way better. I used to love watching Pi and Arduino DIY videos. This time, with AI, I didn't have to watch five to ten videos just to figure out if I had the right model. I ordered the wire and got started.
The brain. Ubuntu, ROS 2 Jazzy, mapping and voice.
Spins 360° to map the apartment.
Looks forward from just in front of the Pi.
Reflexes. Talks to the Roomba over serial.
Status at a glance: battery, lidar, mode.
Heading and tilt, so she knows which way she turned.
A voice. Wake word: "Stella".
Fuse → cutoff → switch → 5 A buck. Clean 5.15 V from the Roomba battery.
The main board and battery live inside the Roomba. Lidar sits on four 35 mm posts so its beam clears everything (≈ 65 mm above the plate).
Mini-DIN colors are from my cable, traced with a meter. VPWR is raw battery (~15 V): never on the Arduino or Pi. Green (BRC) is unused for now. No buzzer: the Roomba plays beeps itself (OI Song/Play).
| # | Part | Job | From |
|---|---|---|---|
| 01 | iRobot Roomba 694 | Body, wheels, battery | Facebook Marketplace, $40 |
| 02 | Used Roomba 600-series main board | Roomba controller with working serial | eBay, ~$22 |
| 03 | Adafruit #2438 mini-DIN 7-pin cable | Roomba ↔ Mega serial | Adafruit, $6.95 |
| 04 | ELEGOO Mega 2560 R3 Most Complete Starter Kit | Mega 2560 + prototype shield: reflexes, sensors | Eback's kit * |
| 05 | Vilros Raspberry Pi 4 4GB Basic Starter Kit, fan-cooled case | Brain (replacement Pi) | Amazon |
| 06 | Raspberry Pi Camera Module V2 | Vision | Eback's kit * |
| 07 | WayPonDEV RPLIDAR C1 360° lidar | Mapping | Amazon, $71.90 |
| 08 | MPU6050 (GY-521) | Heading | ELEGOO kit * |
| 09 | LCD1602 16x2 module | Status | ELEGOO kit * |
| 10 | XH-M609 low-voltage disconnect module | Battery protection | On hand * |
| 11 | KCD1 mini rocker switch, 2-pin SPST | Main on/off | On hand * |
| 12 | DROK adjustable 5 A buck converter | 5.15 V for the Pi | Amazon |
| 13 | ABSOPRO 3 A inline fuse holder | Short protection | Amazon |
| 14 | ADTDA 10 in clear acrylic discs, 1/8 in (2-pack) | The deck | Amazon |
| 15 | HELIFOUNER M2.5 brass standoff kit | 35 mm lidar posts, camera mounts | Amazon |
| 16 | Luxify VHB 5952 tape pads | Plate → Roomba, no drilling | Amazon |
| 17 | ASHATA mini pillow speaker | Voice out | Amazon |
| 18 | JOUNIVO JV808 USB microphone | Voice in | Amazon |
| 19 | USB-C cable, stripped | Buck → Pi | My own cable |
* Already on hand or from a kit, so there's no order of mine to link. The link is a matching Amazon listing (same model), not necessarily the exact one I have.
I didn't think it would be easy, but I didn't expect how much patience it would take. The worst part is getting a part and it's the wrong one, or it's a whole different issue, and then waiting again.
I learned a lot: hosting servers on a Pi, the Arduino, every part of the robot and how it all connects to the motherboard, in a smart but messy way. I learned the hard way why the newer 694 board won't work: on the Wi-Fi model, the firmware locks you out of the serial port (the Open Interface). An older 600-series board fixed it.
After a month or two, I believe I have all the parts. I spent a lot more money than I thought I would.
One Piece is one of my favorite anime. Dr. Vegapunk is one of the smartest people alive in that world, so smart he split his mind into six satellite bodies. Stella is the name of the original Vegapunk, the main body.
In the same sense, Stella has a part of me in her. We really learned and grew together.