The Raspberry Pi Zero is great for emulating games up through the Game Boy Advance, and a few PS1/N64 games, which is pretty great! But some people want a little more power for things like Dreamcast, Sega Saturn, PSP, etc. Sota was one of those people, and he managed to cram a Pi 3 inside a Game Boy DMG-01 case – in addition to a few other extras like dual analog sticks, L2/R2 buttons and a low-battery indicator. Check it out!
Sota was nice enough to answer a few questions about the project:
How is the battery life?
The battery lasts for about 2 hours and 11 minutes. The battery low LED will come on at around 2 h of playtime, and then after 2 hours and 11 minutes, the system will safe-shutdown. This is accomplished with an arduino uno, which acts as a battery monitor.
Did you hit any roadblocks that were particularly hard to solve?
I had this issue that got me thinking for a long time: when my battery was getting low and you plugged in the charger, the powerboost would continue to drain the battery while trying to charge it, but failing. I solved this problem with a circuit consisting of a couple of diodes, a mosfet and a capacitor, so when you plug in the charger, the powerboost will be shut down by the enable pin by the arduino I used as a battery monitor (because it also detects when a charger is plugged in to surpress the shutdown), and making the gameboy run off of USB only. That way the battery gets charged no problem. When you then plug off the charger, the capacitor on the power rail keeps everything stable for the time it takes the arduino to re-enable the powerboost. Of course, an appropiate USB power supply with good current is needed for this. My ratings are: 5V, 1500 mA
Another (minor) problem I ran into was that I glued in my screen, and then decided to drill the holes for the X and Y buttons. The tension I put on the gameboy case cracked the screen. So, as an advice for everybody as it can quickly become an easy thing to forget: Make ALL planned modifications on your case first, then test-fit everything. Then make it permanent.
The Pi 3 gets pretty hot – are there any issues with it overheating?
My system runs idle on around 45 – 47 ° Celsius and comes to a maximum temperature of 63 – 65 ° Celsius when playing intense games that make the system lag. My system is not overclocked, and I have never had the overheating square.
You removed several ports/connectors from the Pi 3 to make it fit. I can imagine that being intimidating to the average tinkerer — how hard was that?
I personaly felt pretty comfortable desoldering the parts from the raspberry pi. But that doesn’t mean everybody does. I am just very used to this, as I did alot of “fine” soldering and SMD soldering as a hobby basicaly since I was 12 years old, and at my former workplace. I am very skilled in soldering, I would say. I did not have “close calls”, but I can imagine that for some folks it might be difficult to, for example remove the HDMI port, camera & display port without destroying the pads or something else. I did see some other people (not on sudomod) attempting to remove those said parts and there were alot of traces and pads missing, saying “those won’t be needed anyways”, and afterwards they ran into trouble, because you could really make permanent damage to traces that also contain something you actualy need somewhere else, or make unwanted and microscopic short circuits. Those parts must be handled with care, as they are pretty delicate.
My words of advice for this:
- Use a proper, temperature controlled soldering station, I use a McVoice LS-450 digi from reichelt in germany. It’s not expensive, but the quality is OK. I can work with it no problem.
- Use a soldering sponge and/or brass wool to clean your tip and keep it fresh from oxidation.
- Use proper solder. I tried alot of different solder, and there were alot of cheap ones that are very bad. They don’t flow nicely, they smell, they oxidate very fast in air, they are very brittle, and one of the most important points: They ruin your equipment very fast. The one I always had good luck with is Stannol HS10 Sn60PbCu2.
- Apart from a solder-sucker, use a desoldering braid CAREFULLY, if you have never experienced what it’s like to use one or don’t have much experience with it, I advise you to try it on something else before giving your raspberry pi a go. The reason is simple: when you use it, it could happen that the solder under the pads you want to remove solder from hardens together with the braid. This can really easily rip off pads.
- Use a proper soldering tip for your soldering iron. A too big tip makes thing uneccesarily more difficult.
- Use a third hand (preferably with rubbered crocodile-clips) to hold your board, it makes your life easier.
- Use tools like pliers, tweezers, a prying tool and others you like to work with.
- Don’t go at it with force or violence. Be gentle.
Also, if you follow this advice and something goes wrong, you are on your own. Aka Do this at your own risk.
It’s pretty awesome that you squeezed dual analog sticks in there. How comfortable is it to play on? What games have you been using it for?
It actualy is very comfortable, even for a long period of time. I think I have played Ocarina of Time on it for around 6 hours when I went to bed. I use the analog stick mainly for the majority of Nintendo 64 games (dual), some PSP games (single), and some playstation games (dual). I personaly am used to playing with 2 analog sticks on my computer, so I liked the idea of having 2 in my gameboy, and so far it’s all good.
Some ladies and gentlemen also wanted to know why I liked to use 2 for Nintedo 64 games in my build. Let me explain it here with an illustration:
The left control stick is equal to the left control stick in my build. The right one is equal to the C-stick on the controller. The Nintendo 64 uses C-buttons rather than a C-stick, but I made it so that it works sort of like the C-stick in the controller shown above, and so far everything has been fine regarding this.
I used an cheap teensy alternative (Sparkfun Leonardo pro micro) to accomplish the communication for both the buttons and the analog sticks. If you want to do something similar with one or two analog sticks (or even none at all!), feel free to check out my guide here to turn your leonardo into a gaming controller: Sota’s 14 buttons + 2 analog sticks guide for a (Sparkfun) Leonardo Pro Micro (Cheap teensy alternative)
Thanks for sharing, Sota! You’re making me want to do a Pi 3 build myself. 😉
You can check out the full build log of Sota’s project over on the forums: http://sudomod.com/forum/viewtopic.php?f=9&t=1615
As always, if you come across a project that you think should get a community spotlight post, let me know! Until next time!