Posted on February 18, 2006
Operating system (Troubadix)
Troubadix is a specially customized linux (Knoppix-derivative) that differs from other mini-distributions by containing the complete Knoppix kernel 2.6, MySQL 4.1, Apache2, PHP5, OpenSSH and Sun's JRE 1.4.2 - however no X and thus no window-manager. Since Troubadix is booted from a compact flash card, no moving parts are installed in the housing that could be damaged during transport. By the way - forcing Troubadix to boot from compact-flash card was trickier than we first thought.
Troubadix requires less than 200 MB - the free space on the compact-flash is used for our Java software and the underlying database system.
Fundamental options can be set comfortably through the web interface, that was implemented in PHP. You can also use the integrated Java applet to operate your Rundfunker by remote control - just as if you had the device right in front of you.
Remote control (Java applet)
Connecting the buttons, LCD and rotary encoder to the EPIA
The connection between our Java software and the hardware is achieved by a small self-designed circuit board. A microcontroller running our code communicates with the mainboard via the serial port. In this way it can forward user-input to our Java-tool and receive output for the LCD display. Developing this board and the software running the microcontroller was one of the hardest tasks we had to cope with, because we never did anything like it before. We used Eagle to layout the circuit board and Atmel AVR Studio to program our Atmel Atmega 168. Using the Atmega 168 was a wrong decision that cost a lot of time, because it didn't offer enough connector pins for our project. Unfortunately we bought a complete microcontroller-module that was quite pricey. So we didn't want to replace them, but had to find a workaround using a shift register and a 8-to-3-decoder. By mischance, we mistook the data sheet of the shift register during design time of the circuit board and therefore had to do some soldering workaround here too ;)
The circuit board fitted with components
Circuit diagram of our board
The finished and installed circuit board in Rundfunker's housing