Having a few raspberry pis lying around the idea was born that it would be nice to have a wifi radio. Of course this needs to have a normal display and it should be easy to change the stations. Not only from a browser, but also using a standard remote. This project was basically using up parts which I found in the drawer, like the display or the remote. The speaker was a used Jawbone Jambox, where the connector was broken.
Like many of our projects, which are supposed to look nice and finally end up in the living room, the first step was to model it to get an idea how it would look like. This has also the advantage that files for cutting on the CNC router can be generated easily.
Most pieces were cut on the CNC router. The only part which was cut using the laser cutter was the thin, bend veneer on the top. Glueing everything together was a little tricky because of the bend, but worked out in the end with a lot of clamps and fortunately without any nails.
The first thing to put in place was the display. I got this on ebay a while ago> It was sold as a used replacement for a cashier display. A few 3D printed brackets hold the piece in place. Also visible is the power supply which is mounted directly on the back cover. It provides 12V which is further stepped down to 5V with a step down converter.
The Raspberry Pi I/O lines are all 3.3 V. The display expects 12V-RS232. Therefore a small level shifter was necessary which was just hanging of the cable.
At some point all pieces were working together. The Raspberry Pi runs volumio for playing and managing the music, the display is controlled using serial commands. The radio 'firmware' is written in python and takes care of checking the buttons as well as turning parts separately on/off via the relay board. The relay board is home build and is controlled via I2C. The remote functionality uses LIRC and is sending mpd commands when necessary.
A lot of pieces have to be working together for this radio to work. Like with most of our projects, we are happy it all worked in the end.
More images for this project