PSPi Version 2.0 - Raspberry Pi Zero in a PSP - Project is Now Complete!
-
Yeah its pretty Slick!! Have you got the analogue sticks working?
-
@moosepr I'm working on it, but I probably won't add it to this one. I'm wiring up an analog/digital converter that converts the stick position (Ohm value) to a series of button presses. There is a little bit of hardware and a lot of software work left before I'm happy with it. I was just ready to have this finished, so I moved it to Version 3. I'll post a guide on my site once I have it working the way I want.
-
@adamspc not sure on your plans for the analog to digital conversion, but can highly recommend these
it is essentially an arduino leonardo, so you would be able to program it to read the analogue inputs, and convert them to keyboard commands to be sent to the pi via usb. The only problem with that, it would mess up your usb socket on the top.
-
@moosepr Very cool. That would definitely simplify everything. I'm trying to avoid using a USB hub in this project, so yea this would probably be a no-go. I've got options though. I'm using an MCP3002, and I've already added it to my PCB.
-
@adamspc
I'm sure I used the same car monitor as you in my build. But I power this one with 12V and then convert to 5V.
I als use the same PAM audio module as you in your build but I'm running in audio troubles. There is some noise during startup and loading games (always if the Pi acts) - the in game sound itself is quite fine, but it's annoying in idle.Can you please take a look to my build: Popeye Pi and help me out? Maybe I setted something wrong in the command.txt? I just use mono audio and used GPIO18.
What GPIOs are you using? -
@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.
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.