I set up my Pi Zero Pirate Radio kit some months ago as an AirPlay speaker and all was well, except I found that the buttons on the PhatBEAT hat didn’t work. I’ve finally sat down today to try and understand why it’s not working but realised I don’t have a clue where to begin.
So… where to begin? How can I test whether it’s a software or hardware issue?
(I’m happy to accept that my terrible soldering might have damaged something, but I’d probably have expected to have killed the board entirely, not just stop the buttons from working…)
The pinout is here, https://pinout.xyz/pinout/phat_beat# . You’d have to mess up a fair number of pins for all the buttons not to work. Sounds more like a software issue to me. I’m far from an expert though.
Which installers did you run? Mine is running as VLC radio and the buttons work. I have never tried airplay.
Thinking about this, double check your soldering on the ground pin connections. Pins 25, 30, 34 and 39. One of those “might” be a common ground for the buttons. The grounds are all common on the Pi, but that’s not always the case with pHats and Hats. They do all become common when the pHat or Hat is plugged into the Pi.
I’m assuming the buttons pull those GPIO pins to ground. I wired up mini arcade buttons to those GPIO pins with my buttons wired to a common ground and they work. I found those tiny buttons a bit of a pain to push with my nubby fingers. Plus my pirate radio is in my own custom case with no easy access to the stock buttons on the pHat Beat.
Thanks for the replies @alphanumeric - much appreciated.
The installer I used was:
curl -sS get.pimoroni.com/airdac | bash
(as per the instructions on https://learn.pimoroni.com/tutorial/sandyj/streaming-airplay-to-your-pi)
I’ll look more closely at the soldering on those pins. Thanks. (Presumably I should be able to put a multimeter across them…?)
Did you run the pHat Beat installer,
curl https://get.pimoroni.com/phatbeat | bash
In searching the forums, i’m seeing reference to a test script - test.sh? - whereabouts does that live?
Also, the responses to this post seem to suggest that the AirPlay setup doesn’t give you control via the buttons anyway…?
With it running, it should be 3.3V on the GPIO with no button push, and 0 volts when pressed.
With it powered off and the power supply unplugged. I would think you’d get 0 ohms on the GPIO pin referenced to ground when the button is pressed. Open circuit when released. Not sure if there a re pull up resistors etc in there.
I honestly can’t recall. (I’ve discovered that “some months ago” was actually Christmas!!)
Maybe not though. The AirPlay speaker setup instructions don’t mention it.
I “think” its mainly to set it up for Raspbain, make it the audio device etc. I don’t know if its actually needed for airplay though? I run it, then run the VLC installer and my buttons work in VLC Radio.
The test.sh is here, https://github.com/pimoroni/phat-beat/tree/master/test
I’ve finally had chance to look at this again.
The PhatBEAT stuff actually looks to be installed, so the airdac script must include it.
Running test.sh has confirmed that 4 of the 6 buttons are not working. Fast-forward and Volume Down respond, the others do not (had to ctrl-C out of the test.sh script, since the power button is one of those not working!).
I’ve not dug out a multimeter yet but, looking at the soldering more closely, pin 39 on the PhatBEAT might be suspect. Possibly also 34. (On the RPi side, soldering on pins 1, 2, 4 and 20 look worst but i assume they’re ok since the thing powers up!)
So, looks like i need to try re-soldering pin 39… maybe touch up 34…
I’ve finally plugged in the soldering iron and tried to remedy this issue… and sorely regret it now.
I re-soldered the suspect pins, let things cool down, connected everything back together and… the speaker buzzes as soon as I connect the power. Sound won’t play (though the buzzing alters - so i suspect it technically is), and the PhatBeat’s lights only glow red (when they do at all). I can still ssh into the Pi and ran test.sh… to discover i didn’t even fix the button issue (still only FF and volume down presses registering!).
So, in short, I’ve only succeeded in making things worse. :-(
I’m going to go and find a quiet corner to cry in, but if anyone thinks this might be in any way salvageable then please do shout up.
Thats a major bummer to be sure. Sorry to hear it got worse while trying to fix it. =(
If it was me I’d do a complete new software install, from the ground up reinstalling Raspbian etc. Just to rule out a software issue.
If you can, can you post a good closeup picture of the soldering on the pHat Beat? I might be able to spot something that could be redone and fixed. If your up to it and haven’t thrown in the towel yet.
Thanks for the quick response as ever, @alphanumeric.
I’m sure i must’ve (physically) upset something with the re-soldering, but I suppose it can’t hurt to try re-installing everything. It’d be lovely if that was the case.
I will post photos if I can get any decent ones - my phone’s camera is struggling to pick out any useful detail though. You’ll be appalled by the state of the soldering when you see it though.
I’m wondering if there’s a simple way to un-solder the lot and just try a hammer header instead. But of course I may have damaged the PhatBeat itself…
I tried once, to remove a header from a Pi Zero, it didn’t end well. I only have a small spring loaded vacuum pump solder sucker. Its just wasn’t up to that challenge.
I’ve done single row headers with 6 or 8 pins etc no problem. Especially if you pull the black plastic bit off that holds the pins together. Thats doable with the male headers.
I’m a retired electronic technician. I now only have a access to the simple tools most hobbyists use. I can get buy with what I have most times though.
One thing you can do is buy a proto board, https://shop.pimoroni.com/products/adafruit-perma-proto-multipack?variant=281133348 and practice your soldering on it. Jumper wires, LED’s, switches, simple circuits etc. Then compare what you see with what I posted above.
What I do when soldering headers etc is this.
Touch your “clean” tip to the pad and the pin, one or two seconds is plenty. Then just a small amount of solder.
It should flow all the way around the pad and cling to the base of the pin. You don’t have to cover the whole pin, just the base where it meets the pad on the board.
I draw my tip up the pin and away. Not to the side. Thats just personal preference. IMHO going up has less chance of bridging your solder to one of the adjacent pins.
I also skip every other pin. Solder a pin, skip one, solder a pin, skip one. It spreads the heat out with less chance of damaging the Pi of pHat or Hat. Then go back to the first one you skipped and do all the ones you skipped.
The most common mistake I see is using too much solder. I like to use really thin small diameter solder. Again thats just a personal preference thing. I also prefer a small chisel tip on my iron. No wider than the pad on the board I’m soldering too.
Forgot to mention the most important part. Once your done practicing your soldering, and happy with what your doing. Have another go at a Pirate Radio. Mine is on right now playing some Classic Rock. I have it on quite often in the background when I’m on forums like right now.
And I’ve spent money twice to get what I wanted working. We all make mistakes from time to time. Even those of us in the business of electronics etc. It happens to the best of use, just don’t dwell on it or let it stop you from having some real fun. ;)