IRIS - network radio with alarm clock

IRIS is yet another network radio based on Rasbperry Pi. This time with
an alarm clock and some reading skills.

Similar projects worth following
IRIS is network radio alarm clock based on Rasbperry Pi model A+.
It's built into case of cheap radio alarm clock.


- streaming network radio streams (MP3, OGG, AAC, FLAC)
- scroll track and station metadata (if avaliable)
- display basic VU scope/meter
- alarm clock using radio streams or internal alarm sounds
- sleep timer (auto-off after specified period of time)
- snooze timer
- scrolling RSS channel feed on display
- reading RSS channel feed
- telling time every hour
- audio out to internal speaker or bluetooth speaker
- setup - basic settings from keypad/display, and more advanced options through shell commands or admin web interface (not ready yet)
- all keypad keys have (more or less) the same function as in original alarm clock

IRIS demo's on youtube:

Streaming on internal speaker:

Streaming on bluetooth speaker:

Waking up, preparing and reading RSS channel:

Hardware components:

- Rasbperry Pi A+

- NVRAM+RTC module (separate PCB): Atmel 24C512+DS1397

- Internal speaker amp module (separate PCB): NE5532

- Balanced PSU for internal amp (separate PCB): LM2577 S ADJ + ICL7660, with on/off switch controlled by GPIO pin (via solid state relay)

- Display: Winstar WEH001602 16x2 OLED in SPI mode

- Keyboard module: original keyboard PCB from the clock, with modifications

- Internal speaker: Visaton FRWS 5R 5cm wideband speaker

- WiFi and bluetooth access: any Raspberry Pi compatible WiFi/bluetooth USB sticks


IRIS is appliance built on Nard Linux (

- System runs from initrd with minimal necessary configuration: kernel and a few essential processes

- No filesystems are mounted during normal operation - you can switch IRIS on and off at will without damaging filesystems

- All system settings are stored in NVRAM chip (Atmel flash)

- IRIS firmware can be easliy updated using firmware images. (Initial sdcard image is about 40MB, firmware images are about 35MB).

- 70MB of RAM is used out of 256 avaliable in RPi A+ model. Most of RAM is taken by resident Initrd image (about 40MB).

Core of IRIS is application developed in C, using following technologies:

- BASS library for streaming music

- libXML for parsing RSS feeds

- Pico TTS for TTS features

- libmicrohttpd and GNU TLS for secure web admin interface

IRIS runs Kernel 3.18.12 with RT-PREEMPT patches.


- finish admin web interface

- implement REST-like API for config/control (possibly from android/IOS app)

- add Spotify support and possibly support for other music services

- add nice spectrum analyzer

- maybe add voice recognition/voice command support

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates