Over heated speakers

Hi, I’ll be posting this on a few forums as I have no idea where the problem lies. Briefly, my project is to make a wifi podcast radio that plays the most recent podcast and then skips to the next most recent one from a stream source and with capacitive touch buttons for control. Okay so I eventually got my hardware working. I was following an Adafruit tutorial (NPRone raspberry pi radio) and now I’m using Pi music box with the same hardware used in their tutorial so I have the adafruit 98357a 3w class D mono amplifier (works as hifiberry dac i believe?), a raspberry pi zero W and adafruits 3w 4 ohm enclosed speaker set (only running one speaker for the setup through 2 channels) . I installed l2c with the script that is recommended to use to get it started, everythings working on the latest version of pi musicbox.

last night i forgot to shutdown my Pi but nothing was streaming or playing anyways but when I woke up I smelled burning and scratching noises from speaker. It was hot like an oven but the amplifier was cool and the Pi was fine too, just the speaker. I learned that the voice over coil was burnt out, I could feel it and when it cooled down I went to try everything again and play a .mp3 stream and it played sound but it was horrible like a broken record in a tin can. So that speakers blown, I tried hundreds of things to figure out why that happened today, eventually I played a stream, paused it and came back a few moments later and felt the NEW speaker I put in that I tested and it was working perfectly it started over heating now. It only got hot for a moment, it was enough to burn this speaker too, its not as bad as the other speaker but it burned the voice over coil mostly, after letting this one cool down it works again but it sounds like a cheap $.50 speaker and its overall volume and quality is lower so it’s also now broken. I tried replicating the same problem with either of these burnt speakers by leaving a stream paused or playing music for hours and the same problem doesnt occur again, i’m almost positive it happened when a stream was paused but the speaker and or amp is still on.

I have Noooooo Idea where to start and I’m just new to all this. Can anyone help troubleshoot? Also the amp works fine and was set to default 9db gain, I tried lowering it to 6dB with both a good speaker and the broken one and it didnt seem to lower the overall volume anyways, its not an overusage of power problem as its a 3w 4ohm rated speaker and the amp doesnt exceed 3watts itself. I need new speakers!! Please help!!

It sounds to me like you have DC (direct current, not AC, alternating current) going to your speaker. If you were to graph it, normal AC is what a speaker expects. The cone pushes forward and pulls back, at rest it’s at “zero”. With a DC offset, at rest is no longer at zero, it’s either idling pushing out or pulling in. This is very hard on a speaker motor, it will eventually overheat the voice coil and die.

If my guess is right you’d see it in a waveform editor like Audacity and it would be whatever sound file you’re feeding the RPi. Perhaps when you paused it went to pushing out a DC signal?

Of course that’s just an off-the-cuff answer.


P.S. Welcome aboard!

Added: While walking my dog, I tried to think of tests.

  1. A multimeter across the terminals of the amplifier would show you DC, but not everyone has a multimeter available to them.

  2. Get the system into paused state, disconnect the speaker, then tap the terminals from the amplifier on a good speaker. If you hear a small pop it’s because there’s DC there.

If there’s a feature request to be made, it would be to the GStreamer team I think. “When pausing GStreamer, send a digital zero to the output.”

Again, all off the cuff and I may be wildly off-base.

Hey thanks for a thorough reply. This is really bugging me troubleshooting is a little harder than everything else so far in my board and circuits learning curve. Are you a admin by the way?

So of course I have a multimeter. What I’ve been attempting with it is to try and replicate the problem unsuccessfully again and check for spikes/surges on the amp’s VIN (power input) and to a ground and also to a ground and the speaker power wire. It happened once early yesterday being the 3rd time as I mentioned in my first post but I left it on for a bitter part of 10 hours yesterday pausing and playing music and it didn’t happen again so it’s hard to say or tell what the heck has caused it in the past exactly but I’m sure it’s still a problem somewhere and can happen again but how or why?

To my knowledge the speaker overheated every time with the same stream file paused that is set to autoplay when the RPi boots from pimusicbox, it shouldn’t have anything to do with the audio file or where it’s being played from. It’s just a .mp3 stream file found online for a Joe Rogan podcast.

So is gstreamer a part of the pi music box system? I don’t know anything about it. I am using the latest image install with all adafruit hardware that should be safe to use. I would think it has something to do with a non RPi power supply, im using a Huawei 5v 4amp supply on a regular microusb charging cable but im seeing no spikes or surges so far but then again haven’t been able to replicate over heating it again so far.

Uploaded an image to show the power supply rating.

Also yes I’ve been checking with multimeter for DC voltage (20) and also checking DC amperage to the speaker. A bit spikey but nothing out of ordinary or damaging when it’s working normally.


I also want to mention this maybe this will pop a thought into your head.

To install the Amp I follow the adafruit instructions here,

Please read carefully because this might be related. There is an install script near top. I notice when used it rarely installs properly so I go through the manual install steps further down. …

I came to realize that the steps for editing or adding the file /etc/asound.conf was practically empty yesterday , my previous install must of gone wrong, so maybe without the correct settings in asound.conf could of been damaging? However I recall having fixed that early in the morning and it still over heated that 3rd time after I fixed and rebooted yesterday :S so maybe that’s to be ignored…

So listen to this ‘We’ve added an extra helper systemd script that will play quiet audio when the I2S peripheral isn’t in use. This removes popping when playback starts or stops. It uses a tiny amount of CPU time (on a Pi Zero, 5%, on a Pi 2 or 3 its negligible). You don’t need this on RetroPie because it never releases the I2S device, but it’s great for Raspbian.’

I don’t know if I have that enabled or disabled or where that setting is or where this script writes to but it sounds like it could be a culprit? Could you chime in on that? I know I have the popping sound always when the RPi turns on speakers, pauses/plays or skips songs which is a common issue I hear people have trouble fixing. What do you think?

FWIW, GStreamer is a utility in Linux that reads various file types (MP3, WAV, FLAC) and converts it into a data stream that gets fed into… something. It can be straight to the audio driver or it can go to something like Snapserver or IceCast to be routed through out the LAN.


P.S. I am not an admin, I’m just a user who tries to contribute to the community.

I’m at a loss for what to tell you. I use HiFiBerries, which use similar (or the same) drivers as you are using. I’m using Raspbian Buster and Mopidy 3, but I’ve been with Mopidy for a few years now, so I’ve used similar setups, just not the PiMusicBox image.

I’m curious about your issue, so if you come up with anything difinative please reply to this thread.

I don’t think there should be anything wrong with that utility that feeds low level noise to the card to hold on to it, but it would definitely be the first thing that I would disable to test.

I was able to have that happen to me 3 times, and never again. Ive been playing with two builds, a Pimusicbox and a raspbian with mopidy extensions and web client build. I still cannot say for sure what’s happened because I’ve ran that same speaker and tested a car audio speaker on that same I2S (pwm audio) amplifier running day and night. Not one chip on the build nor the speakers get a tiny bit hot any more. My belief is that the PiMusicBox image out of the box which OVERWRITES asound.conf every time it boots up was overwriting the correct settings I needed for converting digital audio or whatever for my setup.

I figured out how to change it in the core of PiMusicbox, it could have something to do with over heating, or maybe sending a faint noise to keep the amp on while there is no playback could of solved it. I went back and re-ran this script ’ curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash ’ and said YES to enable /dev/zero so perhaps both fixing Loud Pops that start on play back or when changing songs and playing a faint sound when paused could prevent erratic spikes of voltage. IT COULD also be this 5v power supply that can supply up to 4Amps output because it has a super charge feature for my huawei phone is the culprit ( I dont plan on using it after I finish the project )

Anyways. Take that to heart. If I notice any other oddities I’ll be sure to post haha