Skip to main content
Open ESP32-S3 hardware and firmware

The Quran player, engineered properly.

Safi is a self-contained Quran audio device: SD library, internet radio, NFC cards, an Arabic-first display, and a secure web dashboard. This site documents every feature twice, once for using it and once for understanding exactly how it is built.

SoC: ESP32-S3, dual coreMemory: 16 MB flash + 8 MB PSRAMCodecs: MP3, AAC, HE-AAC, WAVDisplay: ST7735S + LVGL 9API: HTTPS REST + WebSocketUpdates: OTA A/B with rollback
User documentation

Build it, flash it, use it

Everything from the bill of materials and wiring to daily use: controls, NFC cards, the dashboard, radio, schedules, and updates.

Start with the User Guide
Developer masterclass

Understand every subsystem

Concepts from zero, real implementation walkthroughs, and the reasoning behind each design decision, including the failures that shaped them.

Open the architecture tour

What the device does

Every feature below has a user guide chapter and a developer deep dive.

Quran library on SD

Reciters and surahs are scanned straight from the card. Playback resumes exactly where you stopped, even across power loss.

Internet radio

MP3 and AAC streams over HTTPS with ICY metadata, adaptive buffering, and automatic reconnection.

NFC tap to play

Assign a surah, a reciter, or a station to a card. Tapping it starts playback instantly, no screen interaction needed.

Arabic-first display

LVGL 9 with real contextual shaping and bidirectional layout, so surah names render as proper connected Arabic script.

Web dashboard

A full HTTPS control surface served from the device itself: playback, library, stations, schedules, settings, and OTA updates.

Scheduler

Time-based playback backed by SNTP synchronized time, with schedules that survive reboots.

Battery aware

Calibrated charge estimation and a debounced low-battery shutdown that saves your position before sleeping.

Secure by default

TLS everywhere, token-authenticated API, rate limiting, signed OTA with rollback, and optional secure boot for production.