PiSP Pocket
-
About 6 months ago, I stumbled onto the Ben Heck Show and binge-watched several episodes before deciding to try some hardware modding myself. Here's my first project: The "PiSP Pocket"! I.e. a raspberry pi crammed into a gameboy pocket. The Pi-inside-a-GBP isn't an original idea but I think the dual analog sticks is unique, at least in terms of execution. I was inspired by this photoshopped image.
The specs:
- Raspberry Pi 3 Model B
- RetroPie 3.6
- 2.2" SPI TFT display
- 32 GB microSD storage
- 3000 mAh battery with Powerboost 1000c (about 3-4 hours of battery life)
- Battery status indicator circuit
- 1 regular USB port, 2 micro USB ports (one for charging)
- Original GBP power switch, D-pad, start, select, A & B buttons with additional L1, L2, R1, R2, X, Y buttons sourced from a TV remote
- 2 PSP analog sticks
- PWR and ACT LEDs
- 2 mono speakers (no output from headphone jack unfortunately)
The rpi3 plays N64 perfectly, Dreamcast almost perfectly, and PSP surprisingly playable with a decreased frame rate. I'm quite impressed with the performance compared to the rpi2. It's been fun playing these systems on the nostalgic GBP form-factor.
The learning curve on this hardware modding/electronics stuff has been anything but easy. Yet I'm fighting the urge to continue dabbling :) Thanks for looking!
-
Do you have a complete Part List?
and a Photo of the parts and wiring inside the GBA?I am planning to build this inside a Gameboy Classic and there are tutorials with the Pi Zero, which is not accessible these days
and i want to build it with a Raspberry Pi 3are the Heat issues or anything like that?
-
the "PowerBoost 1000 Charger - Rechargeable 5V Lipo USB Boost @ 1A" is out of stock at adafruit any other recommendations?
-
@NeoTrace - I appreciate your interest in the project! I don't have internal pictures but I plan to take some soon, as well as put together a demo video. Along with that I can try to link my specs to a URL.
I purchased a silicon heat sink pad just in case, but I haven't installed it nor have I experience any issues yet. Though I can feel it warming the back of the case noticeably with the more processor intensive emulators like dreamcast and psp. I should note that I decided to keep the rpi3 stock, so no overclocking.
Have you checked for the Powerboost 1000c from other sources? Initially I tried some dirt-cheap charging circuit and 5V regulator from China, but they didn't prove sufficient for the Pi in my experience.
-
thanks for the link, didn't know its that simple to find other resellers via google
my shame :) -
@NeoTrace Heh not a problem :) I think you'll be glad you use a rpi3 instead of a zero.
-
did u use the original PowerSwitch to power the pi?
as i couldnt get that from your part list :) -
very nice! Wouldn't it fit a bigger screen? A 3.2" TFT, at 320x240 should be pretty perky. I wouldn't go any bigger if on GPIO.
And yeah, shame about the Pi Zero situation, those 4 retailers and their always "out of stock" scenarios, but somehow they have plenty available of Pi Zero "packs" padded with overpriced stuff we don't need.
-
@NeoTrace - Yes I used the original GBP power switch. It's wired to the Powerboost 1000c's "EN" pin which is perfect for switches like that.
@senkun - Thanks! On paper I tested the dimensions of various screens, but decided on a 2.2" since it fit inside the existing GBP window (outlined by the grey border of the display lens). But now I'm considering building another and think I could fit a 2.8" tft. But the trick will be cleanly modifying the lens to accommodate...3.2" measures a little too wide to fit at 80mm (3.14") when the GBP is 3" wide.
-
great, didn't know that
had only soldered a mausberry circuits till now, which doesn't really fit here :Djust got 2 broken Gameboy Classics, hope they will be here on Friday so i can dissemble them and plan further steps
-
Updated the original post with a video :)
-
If your looking for a soft shutdown switch for RetroPie you can follow this link to a tutorial from elemit14. "https://www.element14.com/community/docs/DOC-78055/l/adding-a-shutdown-button-to-the-raspberry-pi-b". I have used this on my RetroPie RPi3 and it works great. You can change what GPIO is used in the program. I also used the Powerboost 1000c and put a switch per the Adafruit tutorial that will completely turn off the power drain when turned off.
-
@glennlake Thanks for the tips! So the "Shutdown System" option in Retropie isn't a good shutdown procedure?
-
@TheLuthier Ether way is safe. The mausberry circuit was mentioned and I thought this software shutdown would be more pocket gameboy friendly as all you would need is a switch to shutdown the Pi. I have used the mausberry circuit to power off a Pi and it is great for portable setups as it will completely cut power to the Pi but on the down side it draws some power from the battery wile in use. I haven't measured how much but it may be an issue. By the way I love your project. I am working on a build with a Pi3 and a 5 in screen. Will share when finished.
-
@glennlake Oh I see what you mean - Yeah, my setup goes: Software shutdown --> slide switch to off. Guess I've been doing it so much that I forgot how unintuitive it is. Thanks for the suggestion! I'm certainly going to look into it. And I look forward to seeing you rpi3 project!
-
I love what you have done to the raspberry pi 3, do you think that you will add a tutorial somewhere?
-
@Velocireed - Thanks! I wasn't planning on a tutorial since someone else essentially already did: http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket. There's just small-ish differences in specific components, but it's mostly the same.
-
@TheLuthier
Oh, okay. Thanks for the response! I was just hoping for a tutorial on how you got both of the circle pads working. -
@Velocireed - Yeah, so those were easy to connect to the Teensy 2.0 - It's straight-forward to identify the analog inputs. The trickiest part was figuring out that I needed to re- map the input range of my joysticks. Basically the holes I drilled weren't perfect so they slightly limited the range of movement. For example, let's say the hole only allowed the stick to move to a value of 850 out of an expected 1000, in a particular axis. I had to script in my teensyduino sketch to remap 850 --> 1000 and on the low end, lets say it was -910, which had to be mapped to -1000. And do that individually for each axis. Other wise it wouldn't behave fully during gameplay.
I know that's more of a tip instead of a tutorial, but it's the only real hurdle I ran into.
-
@TheLuthier
Thanks! I was hoping someone would help me with that!
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.