Everything, as a list

Al-Hadra Mini: IoT prototype

Type
Project

The device itself: a headless Python application on a Raspberry Pi Zero 2W, running continuously in my own home since the day I had the idea, not a lab prototype I spin up to demo.

APScheduler handles event orchestration, timing prayer announcements and other scheduled events against real, changing daily times rather than a fixed clock. Offline-first JSON caching means the device keeps working correctly if the network drops, since a prayer-times device that fails silently the moment WiFi hiccups isn't one anyone should trust in their home.

Audio runs through PipeWire and PulseAudio, with BlueZ and D-Bus handling Bluetooth sink management so the device can route audio to a paired speaker instead of needing its own, and a small Flask control panel gives it a web-based interface for configuration without needing a screen attached. systemd keeps it always-on and self-recovering after a reboot or crash, and CI builds the install bundles so setting up a second unit doesn't mean manually repeating every step I did on the first one.

That last part turned out to matter: once people started asking for their own, a repeatable install process wasn't a nice-to-have, it was the difference between a personal project and something I could actually hand to someone else.

Built with

Related