Overview
Marcus Creekmore is a Vilros customer from the Southeastern United States who has used Raspberry Pi to create a comprehensive workshop assistant. It offers the ability to pull up manuals, keep track of tasks, and control aspects of the physical environment.
What he built
Marcus built a Raspberry Pi-based monitoring and control system for his shop. It brings the garage door, lights, temperature, camera, and device status into one dashboard accessible from his computer or phone.
It also includes a knowledge system for equipment manuals, project information, and shop notes. He can bring up equipment information on the shop display and use voice commands for the display, lights, and TV. Everything is an ongoing project, with new capabilities being added and tested as he has time.
Inspiration
Marcus wanted different projects in his shop to work together. Checking the door, controlling lights, and finding a manual are useful individually, but having them connected makes the whole system more useful while working.
Voice control grew out of that idea. Being able to ask for information with hands occupied is practical, and he wanted a system he could keep expanding.
Components
Hardware:
- Several Raspberry Pis handling different jobs, including a Pi 4 controller and Pi 4 voice node
- Sequent Microsystems relay and temperature-monitoring boards
- Ultrasonic door-position sensor
- Pi camera with pan servo
- ReSpeaker XVF3800 microphone array
- Alto powered speaker
- Large shop display
Software:
- Mainly Python
- MQTT connecting devices
- SQLite supporting the knowledge system
- Local speech tools for voice input and spoken responses
- Separate PC handles heavier processing
- Tailscale provides private remote access
Technical challenges
Getting separate devices to work together: Getting separate devices and applications to work together consistently was a big part of it. Another was confirming that commands actually worked. Sending a relay command does not prove the garage door closed, so an independent sensor checks the door's actual state.
Voice control timing: Voice control adds timing issues between recognition, warnings, actions, and confirmation. Marcus is still refining the combined close-up routine. Testing on actual hardware has been just as important as testing the software.
Knowledge system: The manual system also needs to find the right document, preserve page references, and recognize when it does not have enough information to answer.
Advice
Start with one function: Start with one useful function and get it working before adding the next. Document the wiring, device names, relay assignments, and configuration changes as you go.
Build in feedback: Build in feedback instead of assuming a command succeeded. Plan for offline devices, stale readings, and restarts. Keep the original safety features and manual controls for anything that moves. Make backups and keep a way to return to a working setup.
Leave room to expand: Leave room to expand, but do not try to build every idea in the first version.
By Vilros