Bio photo

Dan Nixon

Code Monkey, Electronics Engineer, Mad Scientist.

Google Play Music radio progress

By Dan Nixon on 2013-04-14

I have made a bit of progress on my Google Play Music radio project lately, I got the PCBs back from the manufacturer and found several problems with them, all of which are things I would have noticed if I had checked the gerber files properly before I submitted them.

The most common problem was with KiCAD footprints being wrong, I had this happen where the MOSFETs used in the level conversion between the Pi and ATmega IC had the wrong pinout on the footprint, there were also footprints which did not have a bottom soldermask layer so the soldermask had to be removed using wet/dry paper.

I also did not receive the front panel board (instead got 20 of the faulty main boards), although looking back they would have only be faulty as well.

However I have been able to get the main board to work after several modifications;

  • Correcting the MOSFET problem by soldering in the MOSFET correctly, although it does not fit "properly" in it's footprint.
  • Adding a second DC-DC converter to power the Pi, this was needed as the converter on the board is rated for 250-300mA max and the Pi needs at least 500mA, so hence an extra one is needed, the one I used was rated at 650mA (still a little low, but I won't be using any USB devices so all of that will be used by the Pi and DS1807).
  • Added decoupling capacitors for the ATmega and DS1807 which for some reason I missed off the board design, probably needed more on the ATmega than the DS1807.
  • Added a large smoothing capacitor to compensate for the large increase in power demand when the two amplifiers are powered up, this previously caused the DC-DC converters to drop their power output which caused a drop in power on the Pi which kept the SoC running but caused the Ethernet controller to loose power.

As I did not have the front panel board I had to improvise one using strip board/prototyping board, this was relatively easy to do and is not that interesting so I will not go into it much, essentially I made a board to break out the power and LCD ribbon cables to the 16 pin header on the LCD and a board to hold the switches and rotary encoders.

I have also set the Python script to start on boot, originally I had planned for it to run in the background but this had an effect on audio quality, so ended up starting LXTerminal with the command needed to start the Python script.

Here are some images of the electronics so far, I did have a video explaining all of this but after watching it back and hearing how unmotivated and apathetic I sounded I decided to not bother uploading it:

Now all that is left is to design and build a nice enclosure for it, I was thinking of a 1930s retro style case (something like this), here are a few sketches of possible case designs (done by my dad who will likely be doing most of the enclosure fabrication as well):

More updated on this project to follow when I get round to making the enclosure, most likely this will be in around 8 weeks.