Stella

A Roomba turned into a genuine robot build.
DWG
STL-001
REV
E · 2026-10-12
BY
K. Sharif
STATUS
Pi rebuild
SRC
github/stella
Fig. 1 — Stella as built. Drag to rotate · scroll to zoom · tap a part.

1. The Roomba that kept hitting the same wall

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.

Base
Roomba 694, $40
Li-ion 14.4 V (16.8 V full)
iRobot Open Interface
serial · 115200 baud

2. What I added

Raspberry Pi 4

The brain. Ubuntu, ROS 2 Jazzy, mapping and voice.

RPLIDAR C1

Spins 360° to map the apartment.

Pi Camera

Looks forward from just in front of the Pi.

Arduino Mega

Reflexes. Talks to the Roomba over serial.

16x2 LCD

Status at a glance: battery, lidar, mode.

MPU6050

Heading and tilt, so she knows which way she turned.

Speaker + mic

A voice. Wake word: "Stella".

Power chain

Fuse → cutoff → switch → 5 A buck. Clean 5.15 V from the Roomba battery.

3. How it fits

Fig. 2 — Top view of the 10 in deck. Hover or tap a part.

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).

4. How it's wired

Fig. 3 — Power, serial, I2C, USB and LCD pins. Red dots are solder joints; squares are connectors. Hover or tap a part. Swipe sideways →

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).

5. Timeline

  1. 2026-08-20Brought the Roomba home from Facebook Marketplace ($40), set it up in the iRobot app, and watched it hit the same wall. That night I asked Claude what it would take to make it smart.
  2. 2026-08-21 · day 1 blog · part 1Ordered the lidar and a cable, picked up a multimeter and a switch, flashed Ubuntu Server 24.04 on the Pi and fought ROS 2 Jazzy until it installed. Most of the expensive parts (Pi 4, Mega, camera, MPU6050) came from a robotics kit my friend Eback gave me.
  3. 2026-08-22 → 08-23Arduino blink test, first turtlesim run between the Pi and my laptop, and the first web dashboard repo (mock data).
  4. 2026-08-24 → 08-25 · day 2The cable arrived: an 8-pin MD8. The Roomba's port is a 7-pin mini-DIN. It kind of fits, which made it worse. Days of wire-guessing and silence.
  5. 2026-08-26 · day 3The RPLIDAR C1 arrived and spun up over USB on the first try.
  6. 2026-08-27The right cable came in: Adafruit #2438, purpose-built 7-pin.
  7. 2026-08-31 → 09-03Still no data. Signal pins on the original board sat at 0 V. It's the Wi-Fi model, and its firmware blocks the serial port. I took the wheel out, researched how the board works, and looked at replacements.
  8. 2026-09-23Ordered a used 600-series main board on eBay (~$22).
  9. 2026-09-29 blog · part 2Swapped the board, traced every wire with a meter, and got two-way serial. By night the Roomba was driving from my code, streaming sensors, and the lidar was publishing scans in ROS 2. Manual drive went live on the dashboard.
  10. 2026-10-11Locked out of the Pi after a 10-day break; reset it headless and switched to key login. Named her Stella and gave her a logo.
  11. 2026-10-11The Pi died. Weeks on laptop USB and a weak power bank: under-voltage, throttling at 85 °C, then no boot. The Mega and lidar survived.
  12. 2026-10-11Redesigned power around the Roomba battery: 3 A fuse, XH-M609 cutoff, rocker, DROK 5 A buck at 5.15 V. Planned the 10 in deck and ordered the last parts.
  13. 2026-10-12Finished the diagnosis, ordered a replacement Vilros Pi 4 kit, wrote the safety and rebuild plan.
  14. NextRebuild on the new Pi → mount the lidar → first map → voice.

6. Parts

#PartJobFrom
01iRobot Roomba 694Body, wheels, batteryFacebook Marketplace, $40
02Used Roomba 600-series main boardRoomba controller with working serialeBay, ~$22
03Adafruit #2438 mini-DIN 7-pin cableRoomba ↔ Mega serialAdafruit, $6.95
04ELEGOO Mega 2560 R3 Most Complete Starter KitMega 2560 + prototype shield: reflexes, sensorsEback's kit *
05Vilros Raspberry Pi 4 4GB Basic Starter Kit, fan-cooled caseBrain (replacement Pi)Amazon
06Raspberry Pi Camera Module V2VisionEback's kit *
07WayPonDEV RPLIDAR C1 360° lidarMappingAmazon, $71.90
08MPU6050 (GY-521)HeadingELEGOO kit *
09LCD1602 16x2 moduleStatusELEGOO kit *
10XH-M609 low-voltage disconnect moduleBattery protectionOn hand *
11KCD1 mini rocker switch, 2-pin SPSTMain on/offOn hand *
12DROK adjustable 5 A buck converter5.15 V for the PiAmazon
13ABSOPRO 3 A inline fuse holderShort protectionAmazon
14ADTDA 10 in clear acrylic discs, 1/8 in (2-pack)The deckAmazon
15HELIFOUNER M2.5 brass standoff kit35 mm lidar posts, camera mountsAmazon
16Luxify VHB 5952 tape padsPlate → Roomba, no drillingAmazon
17ASHATA mini pillow speakerVoice outAmazon
18JOUNIVO JV808 USB microphoneVoice inAmazon
19USB-C cable, strippedBuck → PiMy 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.

7. What it took

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.

Rules I learned
Get the right part the first time.
Ground first, always.
Never trust wire colors.
Never power a Pi from a power bank.

8. Why Stella

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.