PSPi Version 2.0 - Raspberry Pi Zero in a PSP - Project is Now Complete!
-
@cyperghost
I'm troubleshooting the same idle noise you are. I've resolved it temporarily by setting the OS volume at 100% and adding a resistor(150-250ohm) in series with each audio channel between the amplifier and speaker. This makes the noise far less audible, but makes your max volume lower. This is only a temporary solution, and I'm working on a permanent one.Things I've tried:
- Different high/low-pass filters on the PWM
- Different high/low-pass filters on the PAM8403 output
- Ferrites on PWM and PAM8403 output
Things I'm going to try:
- Small capacitor and ferrite together on the amp output (waiting on parts)
- Capacitor on 3v3 line. The noise seems to be coming from the CPU and SD card activity, and I'm wondering whether leveling the voltage out will remedy the noise somewhat.
- Larger inductors on the PWM and PAM8403 output
- Band stop filter at the specific frequency that is giving the noise
I'm using GPIO 13 and 18. I also see that you're trying to bridge the audio channels instead of using two speakers. I read somewhere that you can take both positive outputs from the amplifier and connect them to two resistors in series, and then the connection point between the two resistors goes to the speaker. Something like this. I cannot remember where I saw it. This would also double as the resistor needed to lower the idle noise. Maybe try 150-250ohm. Worse case scenario you damage the $1 amp.
-
I also see that you're trying to bridge the audio channels instead of using two speakers
No, not now. I don't want to solder a second audio channel.
Maybe it's possible to downmix by software :)A solution (I also wrote in my guide) is to use annother audio module
https://www.adafruit.com/products/3006
What do you think?I tried
- annother PAM module (red board)
- Bridged ground and PWM together with 47k resistor to resolve currents with the RC-filter
- shielding with metal mesh stripes (used for shield wires)...
Maybe the Adafruit is going better?
Thanks for the quick respone :)
Congrats for your nice build, it is a pleasure to visit your homepage -
@cyperghost
Not sure about the software downmixing. Sounds doable. I saw that Adafruit module a while back and I've wanted to try it. A pure digital solution sounds like a good one. Only reason I haven't done it yet is because I would need two of them and I've already spent way, way, way too much money building this project. -
@adamspc
No...
No need for two :)
One module downmixes to stereo to one speaker :)I've opened a new thread...
https://retropie.org.uk/forum/topic/4331/possible-solution-for-static-noise-on-all-rpi-zero-builds -
@cyperghost
This might be a different module than I looked at a few months ago. I'm on a network that blocks most sites, so I cant do much research or watch videos. I'm going to research this when I get home. -
@adamspc
Maybe we misunderstood together.
Each module provides space for only one speaker. But the module provides stereo input and downmix to stereo using single speaker.
I think it makes not sense to use "real" stereo for small builds like we did. -
No words! That's just incredible‼️👊
-
@cyperghost Ok so I bought and installed the I2S board on a breadboard. The software setup was very easy and the wiring only took like 5 minutes. It's great that it internally blends left and right audio channels. The ability to use two of these and get separate channels is cool too, but I tend to agree with you that separate channels in these small handhelds doesn't add much to the experience.
Overall I'm very happy with it, but there are two issues:
The speaker pops every time audio is started
The audio has horrible static for a couple seconds when playback first beginsI hope these issues exist because I used a breadboard, since the audio becomes crisp and clear a few seconds into playing. I'm going to try soldering it later.
-
Soldering the connections fixed the static. The pop noise still remains when audio starts though. Has anyone else experienced this from an I2S board? Just curious before I start trying to filter it out.
-
@adamspc Yes same issue here.
The speakers are poping if they are powered by the amp. But think about the PWM via PAM made the same sound (only once because the PWM signal wasn't muted after ending a gaming session)...If you compare I2S+AMP (the cheap adafruit sound module) with PWM+PAM-amp the start and end pop-sound is negligible. Maybe you can develop a filter for this :)
EDIT:
Don't forget to bridge gain and ground with 100kOhm resistor to receive +6 db more sound :) -
@cyperghost
Ok I wanted to confirm that others experience it before I tried fixing it. I'm going to try filtering it first, and if that doesn't work I'm going to try to delay the speaker's output for just a moment after the amp turns on.This amp is already pushing the puny PSP speakers to their max. I think any more db will damage them.
-
@cyperghost I did some testing.
I put the amp into shutdown mode by connecting the shutdown pin to GND while loading a game. The noise pop noise did not occur when loading the game. I then took it out of shutdown mode after the game loaded and there was no pop when the audio switched back on. The audio just cleanly faded in.This is definitely a solution, but I'm not sure where to go from here. This needs to be done automatically. I watched the voltage on the 3 GPIO pins, and they do switch from 1.6v to 3.3v and then back to 1.6v just as the pop occurs. I'm not sure exactly what is going on that makes this happen. Something needs to immediately GND the shutdown pin when this happens, and then after a couple seconds disconnect the GND to re-enable the amp. It would be great if this could be handled in software and just use a GPIO pin to do it, but that's beyond my ability right now. I could use some help on this if anyone has ideas.
-
Well... you can run a script before a ROM loads. So connect a flipflop switch to a GPIO.
So the script will set a GPIO to high and the flipflop grounds the amp for 2 or 3 seconds. After this the GPIO is set to low and the amp works straight forword and the ROM is loading.I'm not sure that this will work :(
-
where would i be able to get my hand on one of your custom PCB's ?
-
Every custom board is available on my site, otherMod.com. I'm having trouble keeping them in stock at the moment, but I have a ton of boards on the way to me now. Should have more stock in 2 weeks or so.
The all-in-one board is still being designed. That's going to take a little while longer to finish.
-
@adamspc Which one did you use in your recent youtube video?
-
@Adrian.antoniw That's the 1000.3 all-in-one board. I'm putting the final touches on Prototype #2 now, so I'll be ordering it soon.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.