Lighthouse
A connected medication adherence system: dispenser with integrated notifier, tracker, and logger.
Built at HackGT 12 (teammates: Hudson Etkin and Aiden Gilmore) over 36 hours - 4-channel physical device and companion mobile app. The device confirms doses via per-silo limit switches and visualizes adherence with a segmented LED ring. The app handles prescription ingestion, scheduling, and report generation. Both sync through Firestore.
System Overview
Hardware
- 4 independent silos with spring-loaded reset mechanisms
- Per-silo dose confirmation via NC limit switches
- 56-pixel WS2812B LED ring, segmented into 4 × 14 (12 active per silo) for progress + state
- Raspberry Pi 3B+ controller
Software
- Mobile app for OCR prescription ingestion, schedule display, and report generation
- Device controller that schedules doses, logs events, and drives LED state
Cloud
- Firestore as shared backend between device and app
prescriptionsdose_eventsswitch_events
Mechanical Design & Fabrication
Modeled the dispenser in Onshape and iterated printed parts for fit + assembly under deadline pressure:
- Silo reset geometry + switch mounting
- Heat-set insert interfaces and serviceable fastener layout
- Print prep + iteration workflow (Bambu slicer)
Electronics Integration
Wired the Raspberry Pi 3B+, LED ring, and 4 NC switches into a single harness and defined pin mappings + segmentation for reliable demo behavior.
Firmware + System Services
Took bring-up code and turned it into a working controller in Python:
- Firestore integration via Firebase Admin SDK
- Prescription → daily
dose_eventsgeneration - Debounced GPIO switch handling (logs
switch_events, marks doses taken) - LED state machine:
- idle = white
- due = blinking yellow
- taken = green
- Packaged as a systemd service for autostart + recovery
- Startup diagnostics animation (“rainbow chase”)
Link to Firmware (Python controller)
Stack Exercised
Onshape (CAD), FDM 3D printing + iteration, Raspberry Pi 3B+, Python (RPi.GPIO, adafruit-neopixel, Firebase Admin SDK), Firestore, systemd, wiring/debug under deadline pressure.
View additional screenshots and renders
App + UX (teammates)
CAD + Packaging
Startup Animation