Speaker Bonnet

I’ve had excellent results with the Adafruit Speaker Bonnet using a Pi Zero W and a couple of large speaker transducers on my desk. However this was when using a Pi Musicbox installation that handles volume control itself.

It may seem crazy that you need to reduce the volume but a volume level of 85% is amazingly effective and actually too loud on my big desk.

When I switched to using the latest Rasparian and used mpg123, the sound was really bad. I figured this was due to the volume being too high. Checks via ssh showed that the volume was in fact set to the maximum.

I’ve spent many hours trying to set the volume using amixer and alsamixer and have gone backwards and forwards between SD cards based on Pi Musicbox and the October release of Rasparian to no avail.

With a fresh install alsamixer allows me to change the volume. Once I apply the Speaker Bonnet setup that is the only device recognised. The screen shows the volume setting (set at maximum) but the Up and Down keys are ineffective. Note that amixer does not allow volume control either.

FYI, I have a DVB-T with DAB connected to the TV antenna feeding to Welle.io that uses Icecast to broadcast DAB radio to all devices connected to the LAN. I am trying to replace the kitchen radio with a hidden gadget behind a cupboard door.

I’m hoping that there is an update to control the Speaker Bonnet volume. It is a good device but it looks as though a standard Pi is better if you want volume control.


After more messing about I’ve found that the Adafruit quick setup does not work as intended. I’ve gone through the manual installation process where the contents of /etc/asound.conf differ from what is set by the quick setup. After I replaced the contents of asound.conf with what is specified for the manual installation I was able to change the sound volume using alsamixer.

With the sound at or below 85% the sound distortion is eliminated and the speaker transducers work well again.


After updating and upgrading Raspbarian the ability to set the volume with alsamixer was lost and the volume was set to 100% (above the distortion level). Back to square one.


This time I started from scratch with the October version of Rasparian Stretch. I did the sudo raspi-config, sudo apt-get update and sudo apt-get upgrade as well as sudo apt-get mpg123 before running the bonnet script. I also ran the script and rebooted several times but it looks as though I now have volume control via alsamixer between reboots.


On startup the ability to set the volume has gone again. No changes. Running the setup script several times did not fix things. I can’t use this device until it works reliably.

Hi John,

Adafruit is aware of the software volume issue and is looking for a solution.

From the Adafuit Speaker Bonnet setup guide:
“2017-11-2 Raspbian PIXEL (‘full’) has broken something in volume control. I2S works, but there’s no software volume setup, if you need this, try Raspbian Lite - will try to fix as soon as we figure out why :)”

The full instructions can be found here:

I hope that helps! Let me know what you work out!

Thanks Stephen.

As you have seen, I’ve tried hard to get the volume control working as documented. It was working for a while yesterday then reverted to 100% non-adjustable.

When I powered to Pi Zero W up this morning alsamixer was allowing the volume to be adjusted. I rebooted a few times and all remained good. Just now I’ve powered up again and it is back to non-adjustable.

I’ll try Rasbarian Lite but doubt that will fix the problem. I’ll update the forum with my findings.



1 Like


You are definitely putting in some legwork to try to resolve this issue! I suspect Adafruit will add update their tutorials to reflect your findings if you work out the root issue. I think it’s very strange how it will work intermittently, and I can’t think of anything that might be causing that… You must feel a bit like Sisyphus pushing this boulder up the hill only to have it roll back down again! :stuck_out_tongue_winking_eye:

There was no sound control yesterday. When I powered up today there was sound control. A few hours later volume control was gone.

I’ve tried Rasparian Lite. It does need to be necessary to run the setup script, reboot and run it again to get volume control working initially. However the volume control disappears after a while. Running the setup script (as per the PDF not the one straight off the web site) has restored the volume control reliably so far. I always lose volume control after unplugging the power supply.

The setup script supposedly needs to be run using sudo. I’ve tried that as well without any change in effectiveness.

The Pi is now setup to run a DAB radio service that is based on a Python script that calls a URL to my main machine that broadcasts DAB radio from Welle.io using Icecast2. So I can have a hidden DAB radio in the kitchen - once volume control works reliably.

1 Like

The positives so far are that you can add an amplifier to a Pi and get excellent results via speaker transducers.

My hidden kitchen DAB radio was not loud enough. The cupboard doors did not resonate as well as my big desk.

It has been an interesting exercise and despite the issues has shown how good the current technology is.

I ordered a couple of Pi 3 B+ units a few days ago as an alternative to using the Speaker Bonnet (plus a spare B3+). However an amplifier is required to go that way.

I’ve used an existing amplifier to check results using the 5 watt Core Electronics speaker transducers as well as a 50 watt Dayton speaker transducer. That was for the bathroom version.

The Speaker Bonnet sometimes works properly and when that happens provides excellent sound via my big desk. However the sound is not loud enough in the kitchen using the Speaker Bonnet and in the bathroom a more powerful amplifier and speakers are needed.

Hopefully the volume control issues I’ve had with the Speaker Bonnet will be addressed. It has great potential.

I’ve just ordered a Hifiberry Amp2 (from Paktronics) to connect to and power a Pi 3B+. The amplifier will power two Dyson 50 watt speaker transducers. Hopefully I won’t have volume control issues. I expect to achieve what I want this time. However I would not have moved on like this without first trying out the inexpensive gadgets sold by Core Electronics.

1 Like

Hi John,

I would keep checking in with Adafruit. They have great support for their products. If they say they are working on a solution to a problem then it won’t be too long!

OK. I’ll follow up with Adafruit. I had read the bit about the Bonnet not working with a specific software package but that should be irrelevant in my case as I’m not using that software. It is over a year since that problem was acknowledged. I don’t think Adafruit realise there is a problem

This morning I had no success with volume control even though it was working when I shutdown the Pi Zero yesterday. After trying things that had worked before - several times - without success I gave up.

I’ve gone to a Pi 3 B+ and a 50 watt per channel amplifier which is an overkill for the 5 watt speaker transducers doing a doorbell ring. I’ve used the multi-Pi mounts to create one device that has a ROCK64 processor at the bottom, the Pi 3 B+ with IR hat above that and the temperature sensor on top of that where it will not be affected too much by the heat of the Pi. The amplifier is velcroed on top.

FYI the ROCK64 has 4GB of RAM and handles up to 3 DVB-T USB tuners so that I can record 3 high definition channels at once with TVHeadend (as my second TVHeadend device). The ROCK64 has USB 3 and runs faster than the Pi and handles the task well. However support for the ROCK64 is limited so I won’t be buying anymore of them.

If Adafruit can sort out the Speaker Bonnet, I’ll switch to using it instead of the higher powered amplifier. I’ll stick with the the Pi 3 B+ though.



1 Like

Regardless of the Adfruit response, I don’t plan on using the Bonnet. It doesn’t provide enough amplification even when it works.

I am now using a Pi 3B+ and a HifiBerry AMP2 to achive results on my outside deck. I tried using 50 watt speaker transducers but the volume was too low. I bought a pair of outdoor speakers and they work OK.

My experience with speaker transducers is that the result is very dependent on what they are mounted to. Sound quality can be excellent but volume is inadequate with some mounts. The 4 transducers I purchased from Core Electronics are now in storage as are the two 50 watt transducers.

In the loungeroom I’m also using a Pi 3B+ but with an Audioengine USB transmitter. The amplifier gets input from an Audioengine USB powered receiver. The Audioengine technology is impressive and from previous use I’ve found the quality great. I believe I’m getting the same good audio via the Pi 3B+.

I’m using Moode Audio for music and mpg123 for my DAB radio rebroadasting. Moode Audio responds quickly and is preferable to Kodi.

I tried using a Pi Zero W to trasnsmit audio via Bluetooth yesterday. It wasn’t that hard to setup but the sound quality was really, really bad. I guess that is understandable when you push the Zero to cope with Wifi and Bluetooth at the same time.

My advice is to not use a Pi Zero for audio and go straight to the Pi 3B+. I will continue to use a Pi Zero W where the demand is trivial but in general will go for the Pi 3B+ and if possible use ethernet rather than Wifi. Powerline ethernet devices eliminate a lot of Wifi issues.

The Hifiberry AMP2 requires an 18 volt power supply. I used a couple of 2 amp rated DC-DC converters to power using either a spare 3.2 volt 50 Ah LiFePO4 battery or my 12 volt circuit. Standard units powered from 240 volts can be used. The AMP2 supplies 5 volts to the Pi. My recommendation is that you drop the defective/lame Pi Zero bonnet and offer the AMP2 instead.



1 Like

Hi John,

This is definitely a well-considered build. I agree it doesn’t seem like the Pi Zero/Bonnet combo is suitable for HI-FI applications.

Great write-up! If you are interested we’d love for you to share your project in the Projects section of our website. We even offer store credit as a thank you for a good write-up!

I will share my outdoor deck sub-project in the new year. It includes the outdoor HiFi and has 3 irrigation systems, a water feature topup and pump control plus monitoring and control of heat exchangers that re-condition air going to the reverse cycle air conditioners. The deck sub-project is part of a large home automation system. I’ve been slow at the installation of the cables and pipes under the deck. However my son has finished that off today so it won’t be long before things are operational. I bench tested the electronics (including valves and sensors) weeks ago.