Skip to main content

Controls and Screens

Safi is controlled with two physical inputs, a rotary encoder and a touch pad, plus NFC cards. This page covers the physical controls and every screen the display shows.

The touch pad

  • Tap: play or pause.
  • Long press: stop playback.

Tap is the control you reach for most, so it stays predictable; a long press is the deliberate way to stop entirely.

The rotary encoder

The encoder has two modes. Normally it is a volume knob; press it and it becomes a library browser.

Volume mode (default)

ActionEffect
Rotate rightVolume up
Rotate leftVolume down
Short pressEnter browse mode
Long pressStop playback

Turning the knob pops up a volume overlay with the current level; it fades after two seconds. Volume follows a logarithmic curve, so each step feels evenly spaced to the ear rather than jumping at the top and crawling at the bottom (the reasoning is in the audio internals).

Browse mode

ActionEffect
RotateMove through reciters, then surahs
Short pressDescend into the selection, or play the selected surah
Long pressBack out, and exit browse mode from the top level

Browse mode reads the library that was scanned from the SD card. Surah names are shown in Arabic script with the surah number.

NFC cards

Tap a registered card against the reader area and its assigned playback starts immediately: a specific surah, a reciter (continues from the first surah), or a radio station. What happens when you lift the card off is configurable (keep playing, pause, or stop), see NFC cards.

The screens

The 1.8 inch display is output only. Screens switch automatically based on what the device is doing:

ScreenWhenWhat it shows
SplashBootThe Safi mark, firmware version, and the boot report (any peripheral that failed to start, in red)
Idle clockNothing playingTime, date, battery, and the device IP address once WiFi connects. The clock shows --:-- until the first time sync. The digits use a dedicated 40 px gold font, and the date beneath is the Hijri date
Now playingDuring playbackSurah name in Arabic, reciter, elapsed time and progress bar, play state, plus the stream title for radio
BrowseEncoder browse modeReciter and surah lists
Volume overlayWhile turning the knobLarge volume indicator, auto-dismisses
NFC toastCard tappedCard name confirmation, auto-dismisses
WiFi statusConnection changesConnected with IP, or disconnected. The screen returns to the idle clock on its own after 10 seconds, and a press-and-hold on the encoder button (about 1.5 s) reveals the API token for 5 seconds
OTA progressFirmware updateProgress bar and a warning not to power off
ErrorFaultsA short description, for example battery empty before shutdown

A status bar at the top persists across most screens: WiFi state, battery level with a charging indicator, and volume.

The idle clock

The date under the clock is the Hijri date computed from the official Umm al-Qura (Saudi) calendar, so it matches the Saudi civil calendar rather than an approximation. The calendar table covers AH 1318 to AH 1500 (civil 1900 to 2077); outside that range the date holds at the nearest table edge.

Backlight behavior

To save power, the backlight dims after 30 seconds without interaction and turns off after 5 minutes. Any input wakes it: turning or pressing the encoder, tapping the touch pad, or tapping an NFC card. Playback continues regardless of backlight state.

What the device cannot do from its own controls

Deliberately, some things are dashboard-only: registering NFC cards, editing radio stations, managing schedules and favorites, changing settings, and firmware updates. The device controls cover listening; management happens in the web dashboard.