egnite: Elektor Internet Radio
EIR was developed in cooperation with the Elektor magazine. Although intended as internet radio, EIR is a versatile development platform for ARM7, especially when it comes to the development of network-enabled applications that implement playback or recording of audio data.
EIR is equipped with a multitude of interfaces, through which it can be controlled and extended:
- Digital I/O – 16 GPIO pins available
- all CPU signals can be accessed via connection plugs
- 20 pin JTAG interface
- 10/100 Mbit ethernet interfaces
- 4 analog inputs
- RS-232 interface
- USB interface
- audio in- and outputs: 3.5 mm audio jack
- slot for SD card
EIR embeds a VS1053 audio codec IC from VLSI solution, which supports several audio data:
Ogg Vorbis (via software plugin), IMA ADPCM, 16-bit PCM
|MP1, MP2, MP3, FLAC (via software plugin), Ogg Vorbis, HE AAC, WMA, WAV, MIDI
EIR provides enough memory for sophisticted applications
- 512 kB internal flash
- 64 MB external SDRAM
- 4 MB external serial Flash
- extendible via SD-Karte
- AT91SAM7SE512, up to 55MHz
Applications are developed in the high-level C language, using the freely available GNU-tools. An active open-source community develops and maintains Nut/OS, a cooperative multithreading operating system and TCP/IP-Stack, which has been created especially small embedded systems. Its extensively documented source code provides an easy to use programming interface which closely resembles that of the C language on PCs. While a fully working configuration file for the EIR is already included, any and all settings can be customized to fulfill any additional requirements with few mouseclicks in the graphical interface for Windows, Linux and Mac OS X.
A complete, internet-capable webserver requires less than 100 kBytes flash and 20 kBytes RAM. This leaves enough space for ambitious product designs, including a webbrowser-controlled Internet radio that is already flashed to the board before shipping. The Nut/OS distribution contains additional useful example applications.