1

I bought an Adafruit I2S 3W Stereo Speaker Bonnet with the 2x20 header pin pre-soldered and also the speaker set.

The bonnet does not neatly stack on top of my Raspberry Pi 3 Model B+ because of the 4 header pins between the USB sockets and the 2x20 header pins. I place the bonnet as far as it goes, as in the first photo, or I follow these pinout instructions to connect only the required pins (the two 5V, 3.3V, Ground, 18, 19, and 21) with jumper wires, as in the second photo.

Raspberry Pi with bonnet stacked on top Raspberry Pi with bonnet connected with jumper wires

I follow these installation instructions for the Raspberry Pi and get no errors. I reboot once, run the script again, and reboot again. I get no sound out of the speakers with the test, e.g. sudo speaker-test -c2 or aplay /usr/share/sounds/alsa/Front_Center.wav.

To debug, I follow the manual instructions and confirm that all the changes from the bash script took effect. I follow the rest of the instructions, e.g. to disable the background playback or check that volume is at 51% with alsamixer:

┌────────────────────────────── AlsaMixer v1.1.3 ──────────────────────────────┐
│ Card: snd_rpi_hifiberry_dac                          F1:  Help               │
│ Chip:                                                F2:  System information │
│ View: F3:[Playback] F4: Capture  F5: All             F6:  Select sound card  │
│ Item: PCM                                            Esc: Exit               │

And still, I get no sound at all.

Another problem is that the list of devices includes only the speaker bonnet, so I cannot switch to audio jack out:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0

How can I get the speaker bonnet and speaker set to work? If it's a hardware fault, how can I enable the audio jack out again?

  • The pins on the 3B+ that the bonnet interferes with are the Power-over-ethernet pins. If you do not plan to use this particular 3B+ with a PoE hat, you can safely clip them (but carefully: apply only shearing force, do not pull is it may damage the traces), or even desolder the 2x2 connector (I don't know your level of expertise, but unless you have proper desoldering tools and have done this many times before, I advise against it). – JayEye Apr 13 at 17:48
  • Another comment: there are multiple power and ground pins on the Pi connector. It is not inconceivable that the bonnet PCB takes advantage of this to connect the ground of different parts of the PCB to different ground pins so that they don't have to run a single ground plane. (I'm guilty of doing that on occasion to avoid having to use an extra PCB layer for ground and/or have jumpers on the PCB!) Try connecting all the 3V3/5V/GND pins across, not just the ones you have, and see if that fixes your problem. – JayEye Apr 13 at 17:54
  • Thanks @JayEye. I connected all 5V, 3V3 and Ground pins to the bonnet, still with no sound. – mmorin Jun 1 at 18:13
1

The problem was a faulty speaker bonnet, as a new one worked fine. I sent it back to Adafruit, requested a diagnosis of the problem, and will update the answer if I receive one.

I also tried on a new Raspberry Pi and confirm that the bonnet and speaker set work OK when stacking the bonnet on top of the Power-over-Ethernet pins, without clipping the latter.

The installer script does say Support for your operating system is experimental. Please visit forums.adafruit.com if you experience issues with this product., which comes from line 233 of the installer script referring to Raspbian Stretch. Although it's experimental, it works.

To restore audio through the audio jack, do the installation steps in reverse, or simply uncomment #dtparam=audio=on in /boot/config.txt.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.