RPi Zero W and Dac/Amp/LCD

Hi Folks,

I am looking for a bit of guidance if anyone can offer any? I have one of these:

shop.pimoroni.com/products/pira … stereo-amp

The software/plugins/scripts that are provided however, only work with Mopidy, which I do not like one bit - correction, I quite like Pi Musicbox but ‘vanilla’ Mopidy is horrendous. The Pimoroni script just installs Mopidy with Iris , and the plugins necessary for the buttons and screen, which is zero use to me as I have not got a premium Spotify account (nor do I ever plan on having one). After a solid two weeks trying to get ANY of the other web clients working has proven completely fruitless, I have followed all the instructions that I have been able to find to the letter, but nothing has worked. You would also think (unless you’re an expert in these matters I guess?) that the plugins/scripts would work ok with a Pi Musicbox install - it being Mopidy based, but the script just breaks your install. I have asked on Pimoroni’s support forum for help but they haven’t bothered to supply any answers whatsoever so I gave up with all that inferior stuff and did the proper thing and installed Volumio on the Zero - I already have a RPi 3b+ running it and I adore the software!

Anyway, I haven’t really been able to do much with the screen/buttons on the phat - I installed the GPIO buttons plugin and have successfully got the A and B buttons to work - play/pause and lower volume - but for no discernible reason the other two - X and Y (next and increase volume) just will not work. I have mapped the correct buttons - BCM 16 and BCM 20 - but pressing them does nothing. What I find odd is the other two working absolutely fine. I have checked and checked and I am using the right pins according to their GitHub/website instructions so I am at a loss with that.

I’d also love to be able to do something with the screen - I only have experience with Arduino and character displays unfortunately so I am completely out of my depth with trying to get any data from MPD printing onto an SPI IPS colour LCD! It wouldn’t even have to be anything like that - I’d be happy with some sort of clock and spectrum analyser type affair but I am not up to the task of coding something that complicated in Python, which is a language I have no knowledge off really. I have thus far managed to get a rainbow type thing to just run in a loop (just a block colour that gradually changes. No animation or anything remotely complex!)

I am happy following a decent guide if anyone knows of any, or if you can point me towards something relevant. I have searched and searched but not found anything myself yet - I will keep looking but a helping hand would be fabulous and much appreciated.

Kind regards,

p.s. I can confirm - for a small low powered system, maybe for putting inside a vintage radio case or similar I can confirm that this phat sounds tremendous for the money, if you pair it with the right speakers. It has a switchable stereo/mono output. I have it hooked up to a pair of salvaged Blaupunkt tv speakers and the sound is rich and fills the room. It isn’t a connoisseurs output no doubt but it is still pretty decent. They also do a headphone amp and a line out version. (should have got me that version!).

Quick update - I figured out the buttons. I should have realised this, don’t know why I didn’t notice. The buttons are all active low but GPIO 16 and 20 are pulled low by default, so it was just a case of setting them high in config.txt. Easy fix once I read the specs of the pHAT properly!

Hi to volumio power users,

i know this is an old thread but i have the same components:

  • RPI Zero W(H)
  • Pimoroni Pirate Audio: 3W Stereo Amp

And i like volumio as well, specially after trying Moode and Mopidy.
What works:

  • Amp Function of HAT
  • Buttons A and B

Whats not working:

  • Button X and Y (does anyone can tell me the syntax how to define BCM16 an BCM20 as active_low in /boot/config.txt?)
  • LCD screen (only backlight)

Maybe someone can give me hints how to move forward in these two issues:

  • does anyone can tell me the syntax how to define BCM16 an BCM20 as active_low in /boot/config.txt?
  • how can a 240x240px LCD, connected via GPIO be activated?

Thanks in advance


Hi volumio users,

i made little progress on the tft.

TFT examples work by executing them from ssh (without breaking playing sound).

What i did:
cloned github repository: github.com/pimoroni/pirate-audio
execute one of the following examples by command „python3 <file.py>“

volumio@volumio:~/pirate-audio/examples$ ls README.md backlight-pwm.py buttons.py rainbow.py


Hi volumio users,

i made progress on the buttons X and Y.

What i did:
I added following lines to /boot/config.txt

gpio=16=pu gpio=20=pu

Now are all 4 buttons (A, B, X any Y) of pirate audio AMP working with the volumio plugin “gpio-buttons”


I’m quite familiar with those 1.3inch screen, they are very nice. I did a Hat for RPi0 for building a mini retrogame console, 240x240 is enough for old games. There is a nice driver to use them with low CPU consumption, I can help to set it up if required.

My question is: what do you want to display on the screen? I think VolumIO UI will not be a good fit.

Hi Darmur,

thanks for your reply, here are some samples of informations which would be great on the display

Trackinformation (artist, album and song) as text
Identifiers of buttons (a symbol for the 4 buttons)
Volumebar (bar if possible, number instead between 0-100 would be also ok)
Trackprogress (bar if possible, time played/time total would be also ok)
Album Artwork “as background”

Sources (maybe helpful):

I am looking forward hearing from you.


Got it,

I’m not 100% sure that user interface can be used together with VolumIO out-of-the-box, it’s a plugin for Modipy

Hi volumio users,

i got it working, see thread https://forum.volumio.org/need-working-example-websocket-restapi-call-python-t14805.html#p76791