I just got my hands on the new Raspberry Pi Zero 2 W, and I’m currently testing it in this board. A short video is linked below. I created an SD image for the Zero 2, which you can find on the assembly page.
The PSPi Zero is an interface board that replaces the motherboard in the original 1000-series Sony PSP. This board lets you use a Raspberry Pi Zero or a Raspberry Pi Zero 2 as the brains, which means you can either turn it into an emulation system, or just run your favorite Linux distribution.
Works with Raspberry Pi Zero/Zero W and PSP 1000 Series Case
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.
The Raspberry Pi Zero is not permanently attached to the PSPi Zero board and is removable after assembly is complete. It attaches using screws, and connects using a 40-pin header that solders only to the Raspberry Pi.
The LCD is driven directly by the GPIO pins in 18-bit DPI Mode 6
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. At full brightness, the LCD backlight uses more power than any other component, including the Raspberry Pi Zero. The lower the brightness, the more play time you get per charge.
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.
Battery and Charging
The board has a standard JST PH connector for batteries. The charge IC is able to charge the battery at 1000mA using the round PSP charging connector or the miniUSB connector (see USB section below)
3.3v Buck/Boost Converter for Pi
The Pi Zero has a dual buck converter, and it normally converts 5v down to 3.3v and 1.8v for the Pi to use. Part of that converter is bypassed on this board.
The PSPi Zero Version 5 has a very efficient (96%) buck/boost IC, and it maintains a stable 3.3v output regardless of the battery voltage. On this board, the chip’s 3.3v output connects to both both the 5v and 3.3v pins on the Pi, effectively shorting the inputs and outputs of the Pi’s 3.3v buck converter together in manner that completely bypasses it and disables it. This means that only the 1.8v buck converter is active on the Pi Zero, and the rest of the Pi gets power from the very efficient 3.3v IC on the PSPi board. This gives some extra play time, since the battery can drain down to about 3.0v.
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).
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.
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.
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.
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 Zero Version 5 is off or on.
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 Zero 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 Version 5 will begin receiving power and charging the battery.
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.