PSPi 1000 Version 4

6/17/17 – Updated PCB image, more updates coming later

6/10/17 – Updated PCB image, added possible features. 

6/3/17 Update – Uploaded new image of PCB. The only change is that the routing and component position has progressed. No changes have been made to the features. Added poll so I can determine how many of these to make once the design is complete.

5/28/17 Update – Misc small changes. Added a couple items to “Possible Features” and “Requested Features”

5/23/17 Update – Changed joystick pad dimensions, started testing PSP’s original battery, added image of rough layout

Work has begun on the next (maybe final with the Pi Zero) version of the PSPi 1000. Research and design is just beginning, so the process is expected to take months. Improvements will be based off feedback received since Version 3 started shipping, and based off issues some people had when assembling Version 3.

Feel free to make requests for features or improvements. Before you ask it though, this will still use the Pi Zero (or Zero W). A Pi3 will not fit without serious modification, and a CM3 will take much, much more time for design (not ruling out the CM3 for something later on, but I’m holding out for something similar to the Zero but with a quad-core)

Would you buy one?

  • Yes (97%, 107 Votes)
  • No (3%, 3 Votes)

Total Voters: 110

Loading ... Loading ...


Guaranteed Changes for Version 4

  • LCD driven using GPIO. All LCD control will be integrated into the all-in-one, meaning no external controller will be needed. This allows for new features such as backlight dimming to reduce power consumption. This also greatly improves the quality of the display. This uses basically every GPIO pin (which are used for buttons and other features), so there are issues that need to be worked through.
  • Improvement to charging using a switching regulator instead of a linear regulator to charge a battery. The benefit is far less heat output during charging, as well as faster and more efficient charging.
  • Improved joystick featuring true analog input.
  • Instead of soldering to the pads on the underside of the Pi Zero (for USB and microSD), gold-plated contact spring pins will be used and the Pi will snap or screw into position.
  • Easier soldering of the GPIO pins. A header will be pre-soldered to the board, so only the Pi’s GPIO pins will need to be soldered. This wasn’t possible in Version 3 because the LCD controller used all the available space. It’s unlikely that spring pins will be used in place of a 40-pin header because the price of the board would skyrocket.
  • Increased efficiency due to more integrated features. The removal of the LCD controller removes much of the power consumption and heat generation.
  • Overall, less soldering will be required.
  • Redrawn outline of the PCB for more accurate hole and USB port positioning.

Possible Changes for Version 4

  • Precision battery voltage monitoring. If included, this would allow the OS to monitor the exact battery charge percentage. This would open up many other software features.
  • Use the PSP’s original LCD. This is proving difficult because of the Pi’s limitations, but I’m trying to work out the kinks since the original LCD is decent quality and it’s always less wasteful to re-use.
  • A transition from RetroPie to Lakka. I’ve been testing Lakka a little, and the interface is great for this project. This can already be done with Version 3, but I don’t have a guide for it.
  • Joystick without having to solder wires. The only delay on making this a guaranteed feature is the difficulty I’m having in finding cheap 0.2mm thick 1.4×1.4mm square gold-plated (or at least high-quality copper) pads to go under the joystick connection.
  • Headers for the speakers. Instead of needing to cut the speaker wires and solder them, this would allow them to just be plugged in. Just need to find the right headers with 1.0mm pin spacing and 1.7mm height.
  • Wireless charging using Qi. If this is included, it will be optional. There just wasn’t enough room in Version 3 to make this possible. It’s very easy to integrate.
  • Some change to the way the microSD adapter is relocated to the Memory Stick Pro’s slot. Whatever the final version looks like, it will be easier to solder than Version 3.
  • Improved audio filtering to get rid of a little more PWM noise. It would match the audio circuit in the Pi 3.
  • Constantly measure power consumption of the system. This would open up many software capabilities.
  • Add microSD port to PCB. Haven’t figured out the best way to do this yet, but it’s a pretty high priority item.
  • Add LED to left side to show microSD card activity.
  • Power LED has the ability to blink when the battery is low instead of staying green or orange.

Features Requested by You Guys (if a feature gets enough requests I’ll consider adding it)

  • Use the PSP’s original battery.  They cost a little more than the Blackberry batteries, but I understand that some of you will have working batteries already.
  • More analog inputs to allow for dual joysticks. This would require a lot of case and software modification.
  • Extra inputs so more buttons can be added.
  • HDMI output capability – this one might not even be possible when driving the RGB display
  • HD resolution LCD

Hunting for Components

Finding the right components is a big part of the design process. I’ve got a list below of components I’m in search of, just in case one of you guys has a source.

Components Needed for Version 4:

  • Pads for the joystick, preferably gold-plated. 0.2mm thick, 1.0mm-1.4mm width, 1.0mm-3.0mm length. Something comparable to this from Mouser but cheaper. $.25 doesn’t sound like much, but there will be 4 of these pads on each board. The $1’s add up quickly when there are 100 different components.
  • 2-pin header for speakers, similar to this from Digi-Key. Needs to be 1.7mm height and compatible with the PSP’s speaker connector. Ones under 2.0mm are hard to find.
  • Connector for DC power input. This is the white connector soldered to the motherboard. My source is unreliable and appears to be running out. I’ve got a potential second source here.

Anyone out there have coding experience and want to help the process move along faster?

I need this

https://github.com/adafruit/Adafruit_Python_ADS1x15

added to this

https://github.com/adafruit/Adafruit-Retrogame/blob/master/retrogame.c

I’m aware that the ADS1x15 code is Python, it’s just there as a example. I need Retrogame to continuously poll the ADS1015 over I2C and issue ABS_X and ABS_Y from two of the analog inputs. The same chip will also be used to monitor the battery voltage (the chip has 4 analog inputs), so that will have to be addressed at some point. It doesn’t absolutely have to use Retrogame, but it’s preferred. I’m also not married to the ADS1015, and something with 6 or 8 inputs would be even better. Finding something low-profile (1.7mm and less in height), affordable, and that has good documentation is what’s important. I’ll get the code done toward the end of the design process if no one is able to assist.


Progress – Short list, more coming soon

  • Test 4.3″ aftermarket LCD over GPIO – Complete
  • Find and test expansion module to replace GPIO pins used by LCD – Complete
  • Write/modify code to get GPIO control buttons working with expansion module – Complete
  • Design and test circuit for charging a 3.7v lithium/lipo battery more efficiently – Complete
  • Design better emergency shutdown circuit – In Progress
  • Redraw outline for the PCB – In Progress
  • Design and test boost circuit with PWM dimming for LCD backlight – In Progress
  • Test original PSP LCD, attempt to work out bugs – In Progress
  • Find and test module to add analog inputs  – In Progress
  • Find connectors for speakers – In Progress
  • Find pads for joystick – In Progress
  • Test PSP’s original battery – In Progress
  • Write/modify code to get analog input working for joystick and battery monitor – Not Started Yet
  • Test Lakka with GPIO buttons, GPIO LCD, and joystick – Not Started Yet
  • Test Qi Wireless Charging – Not Started Yet

Share this with others

34 Comments

  1. First, thank you for creating this site and for offering your amazing kits. I’m relatively new to all of this but I am now inspired to begin building my own PSPi. Quick question regarding Pi3 compatibility – in theory, what would have to be done aside from de-soldering the USB and Ethernet ports? Thanks!

    • Probably much more than that. The Pi 3 just won’t fit, so there would be some serious plastic modification needed.

      As far as function, it is pin-compatible with the Pi Zero, so electrically it would work on the PSPi Version 3. Version 4 is different entirely though, and I doubt it will be compatible with the Pi 3

      • hi
        I’m using gpio to driver LCD,use DPI.
        But it do not work.Can you help me?
        here is my config.txt
        # Disable spi and i2c, we need these pins.
        dtparam=spi=off
        dtparam=i2c_arm=off

        # Set screen size and any overscan required
        overscan_left=0
        overscan_right=0
        overscan_top=0
        overscan_bottom=0
        framebuffer_width=480
        framebuffer_height=272

        # enable the DPI display
        enable_dpi_lcd=1
        display_default_lcd=1

        # set up the size to 480×272
        dpi_group=2
        dpi_mode=87

        # uncomment for 480×272 display (Adafruit 4.3″)
        dpi_output_format=520197
        hdmi_timings=480 0 40 48 88 272 0 13 3 32 0 0 0 60 0 32000000 3

        thanks!

      • what about the psp 4.3 screen?
        There is some problem,it can work,but it can not full screen.It displays in right part of screen.
        I used the same config.txt.
        Can you fix it?

  2. Awesome!!!
    As for CM3, I definitely agree with you that this is something worth undertaking, even as a version 4.1 or 5. This makes it much easier to upgrade in the future to a CM4 for a power boost without the need rebuild everything from the ground up.
    I personally think it’s worth remaining with the raspberry pi architecture vs trying something else. I personally tried the latest ASUS Tinker Board that is trying to compete with RPi. It does give a performance boost, but support for retropie is really bad. Even RPi started up as a fairly simple SBC and it really only picked up after a vast community was built around it. Just my two cents… 🙂

  3. Nice news!
    About the new LCD drive method, how many GPIOs are needed to control de LCD?
    And the GPIOs remainig are enought for the complete keypad (Dpad, A, B, X, Y, L, R, Select, Start)
    How solve this?

    Thank you!

      • This is where a design that includes the CM3 module in it makes a huge difference! With the CM3 module you get access to all the RPi GPIO connections and not just 40 of them as with other ones.
        Obviously this is a day 2 solution for now as you mentioned.

        One request though as for updates, if you could; hard to see what was updated vs previous update.

        Thanks

  4. Still am floored by how rapid these iterations are and how big your scope is. Can’t wait to give version 4 to my electrical engineer to solder up!!

  5. Loving the improvements! Backlight control is essential for squeezing out extra battery life.

    Regarding the driver, you can write a continuous polling script in python (probably the easiest if the driver itself is in python). You will just have to make it into a service, which you can then enable when the system starts.

    As an example, I had written a python script which controls the backlight of a TFT which is attached to GPIO 18.
    https://www.thingiverse.com/thing:2126383

    • I love it. It looks like the button does exactly what the PSP’s brightness button does. Something like this would definitely be easy to add to my existing python script that already runs to look for the shutdown button.

  6. Quick thought to throw out there…
    It seems like if you extend the bottom left side of your PCB you could actually have at least the MicroSD card in place for the side loading of it. If that’s true it will make it a lot easier instead of soldering and gluing the SD card.
    Also, while at it, though there is a height difference, could there also be a way to have the audio jack directly soldered to the PCB, or potentially to a smaller PCB as part of the kit that attaches to the main PCB with an FFC flat cable?

    All this would make for a very easy rip and replace kit!

    • I’ve been tinkering with different methods of doing exactly that. The 6 square vias on the left side are for the microSD. I’ve got a couple different sd slots I’m trying out, but alignment will be a problem. I’ll probably have to stack a smaller PCB on the underside of the main board so that the microSD slot is lines up with the plastics. As for the audio jack, I think I’m going to make an optional additional board that just pops into place or that is easy to solder. I wanted to be able to make this board hold the microSD slot too, but I doubt the height will be right unless I can find a upside-down microSD slot.

  7. in the spots where there are no traces, you could take off material, making the board slightly lighter. this will also allow us to hide cables (if there are any) underneath the board

  8. can you also try to make this compatible with the pi 3 model b. I’m fine with desoldering the thing, i just want a powerful board in my custom psp.

  9. another idea i had was making the controller work over usb, this will (most likely) drastically save gpio headers, which can simplify the board. this can also make the software config far easier, as the controls will already be translated into something that lakka and retropie can understand. although the board will have to be programmed by either us, or the pcb manufacturer.

    • Most people do it this way, but I’m not a fan. That means adding a USB hub and ATMega, and then having to program each board manually. Too many things that can go wrong for the end user. I prefer special-purpose components because of the increased reliability. It’s causing the design portion to take longer, but I think it’s worth it.

      Also, my plan with this board is to have zero wires. Some soldering of pins might or might not be needed, but there won’t be any wires.
      Currently it isn’t compatible with a Pi 3, but it’s possible that something could change. There’s still lots of work ahead.

Leave a Reply