From 61528b4ac9cbdfba44a8940a34307787fc4187bc Mon Sep 17 00:00:00 2001 From: Aric Camarata Date: Sat, 30 May 2026 20:15:54 -0400 Subject: [PATCH] docs: add Phase 1 BLE Appliance hardware requirements and Development Phases (T-E7-04) --- README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/README.md b/README.md index 0dd8200..023554d 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,27 @@ The output feeds [pray-calc-ml](https://github.com/acamarata/pray-calc-ml), whic Total: ~$320-465 per station. Full bill of materials and assembly guide in [docs/hardware](https://github.com/acamarata/fajr-watch/wiki/Hardware). +## Hardware Requirements (Phase 1 — BLE Appliance) + +Phase 1 is a compact indoor alarm appliance that uses a TSL2591 ambient light sensor to detect +true Fajr and Isha via the solar depression angle, then triggers a buzzer. It pairs with a +companion iOS/Android app over BLE for configuration. + +| Component | Model | Adafruit Price | AliExpress Price | +|---|---|---|---| +| MCU | Raspberry Pi Zero 2 W | $19.05 (Adafruit #5291) | — | +| Light sensor | TSL2591 HDR Digital Light | $6.95 (Adafruit #1980) | ~$4.50 | +| RTC | DS3231 Precision RTC STEMMA QT | $13.95 (Adafruit #5188) | ~$2.00 | +| GPS (optional) | Ultimate GPS PA1616S | $29.95 (Adafruit #746) | ~$8.00 | +| Power | PowerBoost 1000C + LiPo 2000 mAh | $32.45 (two items) | ~$8 (TP4056 + 18650) | +| Buzzer | Piezo PS1240 passive | $1.50 (Adafruit #160) | ~$0.50 | +| Enclosure | Hammond 1593KBK 100×60×25 mm | ~$6.95 (Digi-Key) | ~$3.00 | + +Adafruit prototype total (no GPS): ~$97. AliExpress production total (ESP32 + no GPS): ~$28. + +Full bill of materials with supplier alternatives, lead time notes, and ordering sequence: +[`.github/docs/hardware/BOM.md`](.github/docs/hardware/BOM.md) + ## Quick Start ### 1. Flash the SD card @@ -159,6 +180,28 @@ Want to host a station? We provide the hardware (camera + Pi + enclosure + solar See the [Host Guide](https://github.com/acamarata/fajr-watch/wiki/Host-Guide) for requirements and how to sign up. +## Development Phases + +fajr-watch is in active development. The work breaks into three phases. + +**Phase 1 — Hardware Prototype (current):** Bench prototype using a Raspberry Pi Zero 2W, +TSL2591 ambient light sensor (I2C, 0.1-88,000 lux range), and DS3231 real-time clock. +Power from USB-C mains with an 18650 LiPo backup. The device advertises a BLE GATT +service so a companion app can configure location and read sighting history. Target +hardware cost under $60. Estimated 2 weeks of build and validation work. + +**Phase 2 — Firmware:** Full Python 3.11+ firmware on RPi OS Lite. The main loop polls +the TSL2591 every 60 seconds, computes the solar depression angle via the nrel-spa +algorithm, and fires an alarm (GPIO PWM buzzer) when the angle crosses the configured +threshold — defaulting to -18 degrees for Fajr. Configuration (location, depression +threshold, alarm duration) is written via BLE from the companion app and persisted +across reboots. The last 20 sighting events are readable via BLE. Estimated 3 weeks. + +**Phase 3 — Companion App:** React Native (Expo SDK) app for iOS and Android. Four +screens: BLE scan and pair, settings (location and threshold configuration), sighting +history, and manual test trigger. The app communicates over BLE and requires no +background permissions — the device runs standalone once configured. Estimated 4 weeks. + ## Related Projects - [pray-calc](https://github.com/acamarata/pray-calc) - Islamic prayer time calculator (npm)