PSPi Compute – updated October 30, 2021
Updated October 30, 2021
Description
The PSPi Compute is an interface board that replaces the motherboard in the original 1000-series Sony PSP. This board lets you use a Raspberry Pi Compute Module 4 as the brains, which means you can either turn it into an emulation system, or just run your favorite Linux distribution.
Possible Features (will change as I prototype them):
Works with Raspberry Pi Compute Module 4 (all variants) and PSP 1000 Series Case
The CM4 has many variants. Some have eMMC Flash while others use MicroSD cards. Some have WiFi, and some do not. The board has to work with all of them, which means it has to accept MicroSD cards on the Lite versions, and it has to allow USB flashing on the eMMC versions.
No PSP case modification is needed. The new board shape matches the PSP’s original one very closely, and doesn’t require any case modification.
Display
The LCD is driven directly by the GPIO pins in 24-bit DPI Mode 7
Works with both the 480×272 LCD from the PSPi Version 4 and the new 800×480 LCD from Buydisplay.
The LCD backlight is dimmable and you can cycle through brightness levels by pressing the Display button. The lower the brightness, the more play time you get per charge.
Audio
PAM8407/PAM8408 stereo amplifier with hardware volume control (VOL – and + buttons adjust volume, and the Sound button mutes and unmutes the amplifier)
Tweaked audio filter to remove most of the sub 1000Hz frequencies that the PSP speakers can’t produce
Better separation between power and audio circuits, which eliminates noise in the speakers and headphones. The PWM audio is buffered, filtered, and amplified on an isolated power plane.
Power
Battery and Charging
The board has a standard JST PH connector for batteries. The battery charges using the round PSP charging connector or the miniUSB connector (see USB section below). The new charge IC uses a buck converter instead of a linear regulator, and is capable of charging the battery at 3A. I configured the IC to charge at a maximum of 1.35A because to keep the battery in good condition, and to keep board temperatures low.
5V Boost Converter for Pi
Battery Management
Instead of just monitoring the voltage and detecting whether the charger is plugged in, the microcontroller can constantly monitor power usage to provide accurate information about the battery status (see Input).
Battery Protection
The board has reverse polarity protection in case your battery has a swapped pinout. The board is clearly marked + and – to prevent hooking the battery up in reverse. It’s always best not to stress-test these protection features.
The board also has a 3.08v supervisor, which will kill all power to the board if the battery drains past this point. This is just an extra layer of hardware protection for the battery in case the software on the Pi and microcontroller fail to their job.
On/Off Control
The on/off circuit is more tolerant to quickly powering the system off and then back on. The previous version needed a few seconds to reset after poweroff, but this new one is able to power the board back on immediately after a shutdown completes. Functionally, this is identical to previous versions. A quick push of the power button will turn the system on, a quick push when the system is on will shut the system down and power it off, and a long hold of a few seconds will kill power to the board entirely regardless of whether the Pi has completed shutting down.
USB
USB Isolation
The miniUSB port is properly isolated from the battery . When the system is turned off, no battery power reaches the miniUSB port. Power is also unable to backfeed to the Raspberry Pi from a powered USB device.
USB Power
The miniUSB port powers USB devices directly from the battery when the system is powered on with a working Raspberry Pi, and it will range from 3.0v to 4.2v depending on the charge state of the battery. This power flows through an ideal diode, and experiences no loss in voltage.
If a USB device needs the full 5v (which may be unlikely, none of my USB devices needed 5v) or high amperage, the round charging cable can be plugged in, and the board will pass 5v directly to the miniUSB port, which will power the USB device regardless of whether the PSPi Compute is off or on.
USB Charging
The miniUSB port is able to both send and receive power. When using a USB device such as a thumb drive or keyboard, the PSPi Compute will power the device using the battery (unless the round charger is plugged in, as stated previously). When a USB charger or other powered USB device is plugged in to the miniUSB port, the PSPi Compute will begin receiving power and charging the battery.
Thermals
The CM4 uses a lot of power. Right now, I’m using a thermal pad to move the heat from the CM4 and into my board, and it seems to be adequate and eliminates the need for a cooling fan. There’s still some testing to do, but it looks promising.
Input
An ATmega328p microcontroller handles all the input for buttons, joystick, and battery monitoring. The microcontroller is constantly calculating, storing, and transmitting button and analog statuses to the Raspberry Pi using I2C. The firmware can be updated using the SPI pads on the underside of the board.
The microcontroller has four ADCs in use. Two are used for joystick, one for battery voltage detection, and one for battery amperage detection. The joystick readings are sent directly to the Raspberry Pi, and the voltage and amperage calculations are done on the microcontroller before being sent to the Pi. The remaining pins are used for buttons, data transfer, and PWM output for the LCD brightness control.
The Raspberry Pi code is all written in C and runs more efficiently than the Python scripts used previously.
Prototype 1 – ordered February 1, 2021:
Rough proof of concept. I reused as much as I could from PSPi v4, just to see whether this project is doable with the CM4.
The ATMega328p microcontroller is up and running with very beta firmware. So far, I have the display, audio, buttons, joystick, and battery monitoring working, and I’m working out a few bugs with the I2C communication.
I’ve tested with an eMMC CM4, and I successfully flashed firmware over USB
The CM4 antenna connector is compatible with the internal antenna on the PSP case
I’ll probably film a video soon, and go over Prototype 1 thoroughly.
Prototype 2 – ordered February 21, 2021:
First test of DPI mode 7 (RGB888 reduced to RGB777 to save some pins)
Better PCB layout and pin usage
Includes connector for headphone/MicroSD board
Includes an expansion header for an Ethernet board (just testing this in case I use a non-wifi CM4, since every CM4 has gigabit ethernet)
Testing a new audio header that should be compatible with the original PSP speaker cable
Prototype 3 and 4 – ordered March 11, 2021:
Better circuit layout for the boost IC to reduce switching noise
New audio filter layout to decrease bass on the PSP speakers
Prototype 5 – ordered October 7, 2021:
Full redesign to include everything from the PSPi Zero and to substitute components that keep going out of stock
Switched to 2.1A synchronous buck charging IC instead of the 1A linear charging TP4056 to reduce the amount of heat generated during charging.
Switching from RGB777 to full 24-bit RBG888 for the display, giving the best quality possible.
This one is a major test of JLCPCB’s assembly capabilities
Super excited to see you working on a new version and sharing your progress. I know some pcb manufacturers support pcb assembly services even on low order counts, although likely with limited part availability. But you could potentially order boards with all the resistors, caps, and some support ICs pre soldered and then just have to source the more specialized connectors and other parts to hand solder later. Once you are finished with the design and publish it, I’ll probably do something like that to upgrade the PSPi version 4 I put together a while back. I don’t know if it’s reasonable to keep hoping for a new pi zero upgrade any more.
Oh man, I can not wait to see how this turns out. Hopefully into something a can buy.
Great project,
Nice to see a new version.
Oh cool, I am also very excited to see, that there is a chance to get a PSPi v5 :-)… my white PSP 1000 with a broken lcd is still waiting. I have no experience with soldering smd, so I would be very happy, if I could buy a fully assembled board. Many thanks for your great work. Many greetings from Germany, which is still in lockdown mode :-(…
Awesome news on the V5 I missed the prior versions would love to pickup a board when it’s done if you throw them up for sale!
Hello !!!!
Happy to see that you are back into business !
I have a lot of PSP laying around my garage 🙂
Today, you will find easily for sourcing a company that do full PCBAssembly for you (it may have some cost for certain parts) i can help you for this part if you want in the future…
Unfortunately, i think the CM4 consume much more power, not? Have you got an idea regarding the consumption?
Also, why don’t you keep the same screen with 480×272 resolution?
with the CM4, you still don’t have enough pins for a full RGB 888?
Have you think of using another design shell for all this extra power of the CM4? i mean, being able to have more buttons, and more space for a huge baterry (with the space of the PSP, i can’t on my side put more than 2700mA battery.)
Again, in term of look and design i will see something like the powkiddy s30 for instance :
https://www.aliexpress.com/item/1005002247569231.html?albpd=fr1005002247569231&acnt=248-630-5778&aff_platform=portals-tool&albpg=1161969894935&utm_medium=cpa&netw=u&dp=488e65056a7a257a7c22877c84ce2d03&albcp=10564357377&pvid=bc420fdc-3950-4cf6-a43f-1e3e7c5d4009&sk=_ePNSNV&scm=1007.23534.124000.0&trgt=1161969894935&terminal_id=d0d61455812d45649ca7cd156b5d1938&needSmbHouyi=false&utm_content=47843&albbt=Google_7_shopping&src=google&crea=fr1005002247569231&af=553779&utm_campaign=553779&aff_fcid=fe2c4f86b9be4ceaa38d4be08be30811-1619188954119-01141-_ePNSNV&gclid=Cj0KCQjw4ImEBhDFARIsAGOTMj-sSscVdKm6XummwPJ9cM38tPsTQfjaCRkZH10ocQgzYX3zZgrMrpYaAtoOEALw_wcB&cv=47843&albag=104632701295&aff_fsk=_ePNSNV&albch=shopping&mall_affr=pr3&albagn=888888&isSmbAutoCall=false&aff_trace_key=fe2c4f86b9be4ceaa38d4be08be30811-1619188954119-01141-_ePNSNV&rmsg=do_not_replacement&device=c&gclsrc=aw.ds&utm_source=admitad
Regards.
I’m working with a company that does assembly, and I’m trying to get these at least partially assembled.
Yea the CM4 uses a ton of power. It will probably get between 1-2 hours of play time depending on what you’re doing, and maybe 3 or 4 hours if I can tweak things a bit. The PSPi Compute board will be pin-compatible with the 480×272 screen from the last kit, as well as the new 800×480 screen.
The CM4 doesn’t have any more GPIOs than the Pi 4, and I’m using 2 GPIOs for audio and 2 for poweroff. I’m not ruling out RGB 888 yet, but right now I’m leaning heavily on going with RGB 777.
I also have a new Pi Zero PSPi board in the works.
Thank you for your reply!
I will be interested for the new Pi Zero PSPi board on my side… keep in touch! (if audio is included by default and the SD Card accessible on the side :-))
Regards.
Love your work,I love my psp street/E1000, so I would like to make a few requests:
Can you make compatible boards for the entire psp lineup, for example the psp street or psp go?
Is it possible to use this as a rasberry pi handheld, running linux on it? Are drivers needed for that, for communicating with the psp controls?
Not much except that, just hope this awesome project goes to the psp street too.
Also, is worldwide shipping possible, I live in South-East Asia, so that would be helpful, in regards to the kit I would have to buy.
The other PSPs are so different and lacking in usable space, that I’d say its unlikely that I’ll go beyond the normal 1000 series. I will make everything open source though, so you guys are welcome to adapt it for other cases.
The board will work with Raspbian, and the drivers should work with anything based off it.
Ok, so just to clarify, will it be compatible for lets say, Manjaro linux for raspi 4, and other distros? Also, what about the drivers, will they we needed, for navigating with the joystick in the psp, emulating a mouse, or can you/we be able to incorporate it into the input controller. I intend to use the psp as a handheld linux arm pc for everyday use, and this is a very appealing way for me.
BTW, you really need to advertise and spread this, as many psp fans will be interested, I myself found this by chance and am hooked up since.
Spread the word, and try hard on this, as we aim on helping you,in design,software, and I would very much like the psp to be breathed life into, both as a retro machine, and a linux handheld. Try making a final product, which will be available for commercial use. Love this project, and dream of having what is essentially a raspberry pi pc handheld psp linux amalgamation. Lol
I’m not familiar with Manjaro Linux, but the driver is written in c and interfaces with uinput and i2c, so it should work. The driver can probably be easily modified to work as a mouse. I’m a one-man show, so I am just focusing on getting the basic things working with Raspbian and Retropie.
The advertising will come as the board gets closer to completion. Many of the connectors and components for the PSPi Compute keep going out of stock before I can order them, and I don’t want to generate too much hype for something that might be delayed by out-of-stock components. The PSPi Zero board will ship very soon, and I’ll definitely promote it over the next few weeks.
And a few more questions,
Is there enough thermal headroom for the cm4 soc to have some space for stock thermals or “maybe” some overclocking, with the 3.5 Amp boost converter
With all the chopped off io, is it possible for you to replace the mini usb with micro usb, Or usb-c? It should be able to handle that, as mini usb is outdated and adopters for it are rare.
Thermals are going to be at their limits, so I’m unsure about overclocking headroom. I’m sticking with the stock miniUSB. USB-C is great, but the case would need difficult modification to make it fit. microUSB would probably fit, but its inferior to miniUSB in my opinion.
Well, Micro Usb is becoming outdated and ‘is’ weaker, but It is a bit hard to find adapters for the mini usb standard. Well, I can cope with that.
Is the cm4 running on stock speeds? Or has it been underclocked?
Ok, and what is the estimated time of completion, both for the pspi and pi zero projects?
I am interested in the adaptation of these boards for the psp street, suppose if the components are the same, both in the 1000 series psp and psp street, so will it be a matter of adapting the board for the psp 1000, alongside with all the components, to fit inside the psp street, with little to no changes in the electrical components of the board. Please clarify whether I am right or wrong.
Sorry for the torrent of comments, just interested
Hello, as part of my plans for the modifying of this board for the psp street, I found dual analog sticks to be possible of the psp. This might prove very useful in Raspbian (rasberry pi os, why even?) and such, as controls are limited in the psp buttons. So, can you share some details on pins used for the analog stick ,and any spare gpio pins available, if I want to hack another stick onto the psp. Thanks.
Hi,
thanks for the great project. I currently use the Zero Version (5), but noticed, that the Pi Zero is to weak for PSP-Emulation.
So I am looking forward to the compute version.
Will it be possible to just replace the Zero-Mainboard with the compute Mainboard and use all the other Hardware (JST 2.0 Akku, 800×480 Display), or should I better use another PSP with new Stuff?
And Do you think, it would be better to use a compute module light with sdcard, or should there be used a version with emmc and just use an sdcard for additional storage (then I would think about an 8 GB Version for the OS and 64 GB sdcard for storing the roms).
And I am struggling with the RAM. Since I want to emulate Things like Gameboy, SNES, N64 (which the Zero version do well) AND PSP, I don’t know, if 2 GB RAM are enough or if I should go higher. Do you have a suggestion for me on this?
Yes, the Compute board will work with the LCD and battery from the PSPi Zero.
I’m making this board so that it is compatible with every variation of Compute Module, but I believe the recommendation will be the Lite one once I have everything finished. I think I can get full 24-bit display output with stereo audio on the Lite, and then use mono audio on the emmc versions. I’m still prototyping and testing things though, so none of this is set in stone. I have the 5th prototype in my hands now, and I’m trying to work out some bugs. It’s very expensive to make these prototypes, so I have to thoroughly test things before purchasing the next one.
As far as RAM, I’m not sure. I’ve seen some people recommend the 4gb version and higher for emulation, but I don’t know enough about the reason for the recommendation.