[EDIT] Take V3 versions of models on the download section instead of V2, some correction have been applied.
Welcome on the Super Game Pi 64 !
Inspired by the excellent adafruit, thanks to Carasibana and his projet Super Game PiSP for the Start/Select buttons.
Hi guys, I spent hours on this game console. On the design first, to make it as small as possible (while keeping performance) and on the mapping buttons for some emulators that didn't work great on the original project found on adafruit. I named it "Super Game Pi 64" because I started with the adafruit super game Pi project and I made a lot of changes to upgrade the game console and make the N64 works with GPIO buttons :)
The specs :
- Size : 105.5x155x30mm
- Time playing : up to 5-6 hours tested with full charged battery.
- Time charging battery from empty : loonng time. Around 10-11h.
- How many usable buttons : 14 + joystick. There is 2 on the back, 5 on the cross with the clic, 1 on the joystick (clic also) 6 on the front.
- USB gamepad : Allowed yes ! Up to 4 (I tried with 2). So great to play in multiplayer mode on TV screen HDMI with multiple gamepad !
- Multiplayer : So yes works great with USB gamepad. Should work on all emulators, I tried Snes, megadrive and N64.
- Screen : small and cheap screen. But really enough for retrogaming. I had a better screen on the previous version, but it used to work on the HDMI plug (see the adafruit project)... And I really prefered design a game console with a smaller screen that is really enough good to works on standalone mode, and having the HDMI plug available to play on TV. The screen is plugged in composite mode.
- Screen settings : yes : brightness, contrast, saturation, tint, language. The 3 small buttons on the side do it.
- External HDMI : hell yeaahh ! Just switch off, plug the HDMI, switch on and enjoy !
- Sound : no internal sound. Jack plug available. There still room up to the battery to fit some but I've tried on the previous version and I had a lot of noise even if I tuned off the sound in Retropie. So I decided to cut off internal sound.
- Saving/load states : yes for all. I map a specific button to it. For all emulator but N64 and NDS : Select+Save/load state button. For N64 and NDS : just press Save/load state button.
I tested some of them (actually the consoles I had when I was a child), all are working really great (nes, gameboy advance, supernes, megadrive, and more...). And specially :
- N64 : wooorrkkinnngg so great ! That was the biggest problem : games where launching but didn't work on standalone game console (just with USB gamepad). So I spent a lot of time on modifying files and I also add and map the little cross button on the side so you can use C button of the N64 gamepad with it. Works great.
- NDS : works great ! Mapping button was made indide the emulator settings with the game console plugged in HDMI.
- Playstation : Works great, that is crasy ! Use the cross button on the side to map L2 / R2.
- Dreamcast : working but not with GPIO buttons. See "Regrets" section.
Why not smaller version :
I didn't make this game console for people to watch it, but to play it. So 3 reasons to the size, because I have 3 things that take a lot of place inside the game console.
- Raspberry pi 3B : you can make a retropie game console with a raspberry pi Zero (cheaper, smaller). BUT you won't have enough power to run n64, playstation, psp and dreamcast. AND it doesn't have double video connection : composite and HDMI. So I choose RPI3B
- Battery : you can use a smaller battery like the 2500maH. But I really wanted to have a loonngg time on the go with it. 5-6 hours is great I think.
- Joystick : this part is pretty big inside and work with a cupcade. So I could use the same joystick I used for the ilttle cross button on the side and save a lot of place inside. BUT the little one is not really playable as a real D-Pad for long terme. And the joystick Adafruit use on their original project is really pleasant to play. So I manage to keep it.
Why use SNES button but not tacticle :
On the previous version I used tacticle switches for the colored buttons as you can see in the Super game PiSP, and I actually tried smallers one. This is really not playable for long term : too much sound with the "clic", each time you use it. Imagine play a submarine level of Mario64 where you need to swim. People around you will be angry very fast with that noise, belive me that is
By the way, there is not enough room for tacticle switches :)
See instructions for some explainations .
Thanks for reading !
I have a small printer so I designed it to fit into it.
The biggest part is : 106x98mm
The highest part is : 26.5mm
I hope you can print on your printer !
I'll be honnest, I don't respond really often to comments. So I'll try to give you as much details as I can in this section and with photos. I'm sure you can handle it :) By the way I spend hours on modifying files... And I'll give you theses in the download section. You're welcome :)
I use the 4.1 version of retropie (for RP3)
report to the excellent tutorial of adafruit : https://learn.adafruit.com/super-game-pi
-BUT don't copy lines in the "config.txt" file. Just don't touch to that file.
report aslo to the same tutorial
-Wire also the C buttons and the Load/Save state button. See the GPIO photo. Use the joystick clic button for load (directly on the joystick circuit, not on the cupcade). Use the clic of the cross button for save.
On my made, I did solder wires directly on the Raspberry Pi 3B, but you can use the Adafruit way for pin, there is enough room for this. You'll need to buy this.
See on the photos I upload where to solder the yelow wire on the back of the Raspberry Pi 3B. Take of the white wire of t he screen. Black and red wire directly on the - and + of the powerboost. Keep buttons to set screen contrast, brightness, etc... and hot glue them in the case.
Hot glue is your friend
- hot glue the screen
- hot glue to lock screen buttons
- hot glue the battery
- hot glue Start/select PCB
- hot glue the cross button and the printed cross on it
- hot glue to lock snes button
- hot glue to lock L/R buttons
Guess what... report to the same tutorial
Files to change :
Here is the coolest part : you need to replace / copy files to make every thing working fine. See in the download section for files.
Use a FTP client as Filezilla to copy them.
- Adress : IP of your Raspberry Pi connected by ethernet (or wifi)
- Login : pi
- pass : raspberry
- port : 22
On fresh install of retropie, theses folder don't exist. You need to install "Drastic" manually for Nintendo DS emulator : in "Retropie setup" menu. See in "experimental package" and look for "Drastic".
this will adapt the size of the text in menus of retropie. Otherwise you'll not be able to read the game names.
Use a SSH command as Putty to edit the file : "carbon.xml
Change the "fontsize" line 76 with 0.046
(check carbon.xml if you wanna be sure)
Save and reboot with the reboot command line.
Parts on mine :
Okay I think it's all. Enjoy !
I couldn't fine the way to map GPIO buttons for the dreamcast. I tried a lot of things and nothing works for me.
If you find the way, I'd really like to know how you did it !
For information, I run an evtest on SSH, here are the code for the buttons on the game console :
Up : 273
Down : 274
Left : 276
Right : 275
A : 122
B : 120
X : 115
Y : 97
C UP : 118
C DOWN : 109
C LEFT : 110
C RIGHT : 98
L : 113
R : 119
Save state : 116
Load state : 111
Start : 13
Select : 27