r/raspberry_pi • u/Arancool3000 • 3d ago
Show-and-Tell Bob: an open-source Pi voice assistant you extend by talking to it. Looking for testers and skill ideas
I've been building a voice assistant on a Pi 5 called Bob, and I've just open-sourced it. The idea: it starts with no devices at all, and you add abilities by wiring something up and telling it.
"Hey Bob, I've connected an LED to GPIO 17. Make a skill that turns it on and off."
Bob writes the skill, reads back what it will do, and only installs it after you say yes, then tests it. Same for buttons, relays, I2C sensors, serial devices or web APIs.
How it's put together: - Wake word runs offline on the Pi, nothing is sent until you say it. - Conversation is Gemini Live (needs a free API key), so it's quick and can search the web. - Settings page at bob.local:8080, updates itself and rolls back if an update fails. - A Windows setup app writes the SD card with your Wi-Fi and key, so no commands needed. Mac/Linux is a one-line install.
What I learned the hard way: a Pi 3 is too slow for this, a USB speakerphone saves a lot of echo pain, and Bluetooth audio on the Pi is fragile.
Where I'd love help: 1. It's a fresh public release, so installs on other people's Pis and mics are exactly what hasn't been tested much. If you try it, tell me what breaks. 2. What skill would you build first? I'm collecting ideas for examples. 3. Contributors welcome, especially on wake-word accuracy and audio setup.
2
u/ol-gormsby 3d ago
I wish you well but you might want to reconsider the name - IBM's "assistant" is called Bob.
0
0
u/SatisfactionClean963 2d ago
Nice project. I built a BLE shell for headless Pis, so I'm curious how you handle recovery when wifi configuration breaks. Have you considered bluetooth as a fallback for debugging?
2
u/Previous_Tea_2250 3d ago
For a first example skill, I’d pick a read-only I2C temperature sensor before a relay: it exercises device discovery, generated code, voice output and uninstall without actuating anything. One thing I’d want to test as a contributor: does the approval screen show the actual generated code/diff and its network/filesystem access, not just Bob’s verbal summary? Also, can a single bad skill be disabled or rolled back independently of an app update? Those would make the “teach it by talking” flow much easier to trust.