Skip to main content

Internet Radio

With WiFi connected, Safi streams internet radio. Quran radio stations broadcast recitation around the clock, and any station URL in a supported format works.

Supported streams

PropertySupported
CodecsMP3, AAC, HE-AAC, FLAC, WAV
TransportHTTP and HTTPS (Icecast and Shoutcast style streams)
BitrateUp to 320 kbps; most Quran stations use 64 to 128 kbps
MetadataICY stream titles (the "now playing" text many stations embed)

Not supported: playlists that require a browser (YouTube and similar), M4A/MP4 containers, and Ogg (Vorbis/Opus). If a URL ends in .m3u or .pls it is a playlist file, not a stream; open it in a text editor and use the direct URL inside it.

Playing a station

  • Dashboard: the Radio page lists your saved stations; click one to play. The URL field at the top plays any stream directly without saving it.
  • NFC: bind a station to a card and tapping it starts the stream, see NFC cards.

The display shows the station and, when the station provides ICY metadata, the current track or reciter name, which also appears live in the dashboard.

Managing stations

The dashboard ships with a set of built-in preset stations; the stations you add are stored on the device (so every browser and NFC card sees the same list). On the Radio page:

  • Add: name plus stream URL.
  • Delete: remove a saved station.

A starting point, all free Quran radio streams that were live at the time of writing:

StationURL
Tarateelhttps://qurango.net/radio/tarateel
Various reciters, mp3quran mirrorssee mp3quran.net radio list

Station URLs change over the years; when one dies, the dashboard shows a connection error and the device keeps retrying in the background with increasing delays.

Behavior on bad networks

Streaming is buffered on the device. Short WiFi hiccups play through from the buffer; longer drops trigger automatic reconnection with exponential backoff (1, 2, 4, 8 seconds, capped at 30). While reconnecting, the dashboard shows a "reconnecting" badge and playback resumes by itself as soon as the stream is back.

If audio ever stutters, the dashboard's underrun counter (Now Playing page) will show it: a nonzero count means the network could not keep up. The streaming internals chapter explains the buffering design and why the device favors a brief silence over dropping data.

Radio and the clock

Playing a stream requires only WiFi. But note that the scheduler will not fire until the clock has synchronized, which also needs the network; both normally happen within seconds of the first connection.