Lunch reminder - built on Viam!
Python 3.14+
This is a Viam module (custom robot component) that rings a physical gong when triggered via Viam's command interface.
Key Components:
- Viam Generic Component (
10zing:generic:gong) - Custom component that wraps servo and board control - Servo Motor - Physically strikes the gong with a back-and-forth motion
- GPIO Board - Controls a pin (GPIO 11) that likely activates a solenoid or additional mechanism
- Command Interface - Receives commands via Viam's
do_commandAPI, checks if a subteam is mentioned in the command text, and triggers the gong sequence
Flow:
- Module receives a command with text via Viam's
do_commandinterface - Checks if the configured
subteamis mentioned in the command text - If triggered:
- Sets GPIO pin 11 high
- Moves servo through sequence: 110° → 90° → 110° (striking motion)
- Sets GPIO pin 11 low
- Returns success/failure status
Build & Deploy:
- Uses
uvfor Python package management - Packaged as
module.tar.gzvia Makefile - Registered in Viam module registry as
10zing:lunchgong - Entrypoint:
run.sh→uv run module.py