Jump to content

Raspberry Pi Gameboy Pocket (Pi-Pocket) Documentation


Recommended Posts

http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket


Description
The Pi-Pocket is a mini portable games console capable of playing Gameboy, NES, Sega Master System, Game Gear games along with other popular Linux ported titles such as Doom and Duke Nukem using the popular Raspberry Pi emulator front-end known as RetroPie. Complete with a rechargeable and that classic retro feel the Pi-Pocket provides over 3 hours of continuous play with unlimited play time while charging via the original power input.

Introduction
We start with the Gameboy Pocket, one of the greatest hand-helds that Nintnedo has ever produced has ever produced featuring a slim design and an exceptionally comfortable button layout. Having owned at one point each of the original Gameboy systems except for.. Damn you Gameboy Micro and Gameboy Light for being too elusive or otherwise too expensive.. Wait a moment.. I know! What if we take a Raspberry Pi, all the games you can shake a stick at, and the color backlit screen Nintendo teasted us with for years? Without further ado, lets begin!

Finished Project:





Video of the Pi-Pocket booting up and running a few of the many hundreds of games.

pocket-47.jpgpocket-48.jpg


The entire project fits into the shell from an original Gameboy Pocket mostly unmodified on the exterior. With all new internals the Pi-Pocket is fitted with a Raspberry Pi Model B, Li-Ion rechargeable battery, Color LCD, and a Mini Audio Amplifier.

Case Modding:

pocket-01.jpgpocket-02.jpg

For this project I will be using a clear Gameboy Pocket since I didn't want to end up with a final product that hides all the really interesting bits. Another convenience about the clear model is that it will be much easier to source clear plastic that doesn't have to be painted and color matched with the other models. The very first step is to disassemble the Gameboy and get a sense for what can be reused and what else will make good additions to the blackhole that is my parts bin.

pocket-03.jpgpocket-04.jpg


Since I won't be powering the Pi-Pocket from two measly AAA batteries the compartment in which they formerly resided must be removed and filled in. With the compartment removed the battery door is then glued in place using my favorite super adhesive of choice.

pocket-05.jpgpocket-06.jpg


With the inside sanded down as flat to the back plate as possible it was then time to trim away some of the internal frame that was used to help guide in the cartridges. A flat-pack Lithium-Ion battery cell was then test fit in place which almost seems tailor made to fit inside the Gameboy Pocket. Once I have the Raspberry Pi desoldered I will find out if two cells will fit. For now it seems likely that only one cell will fit.

pocket-07.jpgpocket-08.jpg


http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket
b_350_20_692108_381007_FFFFFF_000000.png

Krakin's Home Dipole Project

http://www.stevemeadedesigns.com/board/topic/186153-krakins-dipole-project-new-reciever-in-rockford-science/#entry2772370

Krakin, are you some sort of mad scientist?

I would have replied earlier, but I was measuring the output of my amp with a yardstick . . .

What you hear is not the air pressure variation in itself

but what has drawn your attention

in the two streams of superimposed air pressure variations at your eardrums

An acoustic event has dimensions of Time, Tone, Loudness and Space

Everyone learns to render the 3-dimensional localization of sound based on the individual shape of their ears,

thus no formula can achieve a definite effect for every listener.

Link to comment
Share on other sites

http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

The Pi-Pocket will no longer use game cartridges since they will simply be stored on the Raspberry Pi's SD Card. For this fact it was necessary to fill in the game slot with some plastic. The new flat area that this provides will be used to expose the Raspberry Pi SD Card and the remaining USB port to connect peripherals such as a Mini WiFi adapter.

pocket-29.jpgpocket-30.jpg


Speaking of SD Cards and USB ports it was time to cut some holes in the hole I just filled in o_O. First a slot that was slightly larger than the SD Card was cut in the top to align with the Raspberry Pi's SD Card socket. At this point it became obvious that with the size of the battery it would not be possible to mount the USB port in the cartridge slot. This was fine as necessity is the mother of invention and the USB port was soon mounted in the area previously occupied by the EXT (Link Cable) connector. This actually solved another problem of needing to fill in the gap where the EXT port used to reside by filling it in with the modern PC's equivalent of an EXT port.

Gamepad
Input to the Raspberry Pi will be accomplished through the original Gameboy button pad. The button pad will then be interfaced using a Teensy 2.0 that will provide simulated keyboard input over USB in addition to other minor responsibilities.

pocket-09.jpgpocket-10.jpg


First it was necessary to desolder some of the components on the lower portion of the original PCB such as capacitors and the battery terminals.

pocket-11.jpgpocket-12.jpg


Next the PCB was cut to leave only the button pads and screw holes for mounting. The audio and power input jacks have been left in place as they will be reused during the project meaning no additional holes need to be cut in the case of the Gameboy to provide these functions.

pocket-17.jpgpocket-18.jpg


The first order of business was to cut several traces that connected some of the buttons in an unusual way. Next one side of each of the buttons are tied together into a common ground type setup. The Teensy has plenty of I/O available so there is no need to multiplex the buttons. Lastly an additional wire is added to the non-common side of each button. There are a total of 10 wires, representing 8 buttons and 2 grounds. The two grounds will be tied together once connected to the Teensy.

pocket-19.jpgpocket-20.jpg


http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

b_350_20_692108_381007_FFFFFF_000000.png

Krakin's Home Dipole Project

http://www.stevemeadedesigns.com/board/topic/186153-krakins-dipole-project-new-reciever-in-rockford-science/#entry2772370

Krakin, are you some sort of mad scientist?

I would have replied earlier, but I was measuring the output of my amp with a yardstick . . .

What you hear is not the air pressure variation in itself

but what has drawn your attention

in the two streams of superimposed air pressure variations at your eardrums

An acoustic event has dimensions of Time, Tone, Loudness and Space

Everyone learns to render the 3-dimensional localization of sound based on the individual shape of their ears,

thus no formula can achieve a definite effect for every listener.

Link to comment
Share on other sites

http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

The Teensy by virtue is already very small and powerful however I still needed to trim the device down considerably before it could be used in the Pi-Pocket. First the sides were trimmed leaving only a small sliver of solder area where the through-hole pins formerly resided. Next the Teensy was mounted to the Gameboy's button board and the wires trimmed and soldered. The USB port was also removed as it would not fit in the space between the buttons otherwise.

Raspberry Pi
The Pi itself isn't much smaller than the Gameboy Pocket with the thickness of the ports being the most prohibitive aspect of this project. Since the only interfaces that will be used on the Raspberry Pi are the composite video output, the USB ports, and the audio output it made sense that these and every other port be removed. Unlike the HDMI port it will be very easy to still wire into the necessary ports as they use large solder pads.

pocket-13.jpgpocket-14.jpg


First on the chopping block were the digital display and camera connectors, GPIO header, Ethernet, HDMI, and the analog audio output. At this stage I went ahead and booted the Pi back up just to make sure that after the first pass of port removal that everything was still working properly.

pocket-15.jpgpocket-16.jpg


Lastly the composite video and USB ports were removed revealing a very slim profiled Raspberry Pi. Later on the linear regulator will be removed in favor of a switching mode regulator and with it so will be removed the last relatively large component, a capacitor near the micro usb port. Next just a test mockup to ensure the Pi fits inside the Gameboy Pocket along with the battery and front button board. The verdict -- it fits!

LCD Screen
Not being able to find a 3 inch LCD that supports composite input I had to settle for a 2.5 inch screen which will still make Gameboy and NES games exceptionally playable. I was able to find 3 inch screens but none with a standard input meaning they would require some sort of driver board which would be a project all by itself.

pocket-21.jpgpocket-22.jpg


With the LCD and driver board removed from their original case it was time to take an assessment of what components would need relocating and what sort of power options exist. I read in another log that this same LCD can be powered by as little as 5V from the 12V input, and this is definitely true. There is an almost imperceivable difference in brightness when powering the screen in this way. After examining the board in further detail it was easy to notice the two headers had labels with two of them labelled as 3V3 short of 3.3V. On a hunch that this meant 3.3V could be supplied to these pins to power the LCD I wired up the switching mode regulator that was purchased for the Raspberry Pi. Viola it fired right up and when tested the screen only draws a total of 100mA, compared to supplying 5V to the 12V input which drew 130mA, every little bit counts.

pocket-23.jpgpocket-24.jpg


Next a quick mock-up of the LCD inside the Pi-Pocket's shell, it will fit with minimal dremeling of the front case. The only down-side is that the LCD doesn't quite fill out the available space vertically but is a near perfect fit horizontally. This is due to the unique shape of the original Gameboy Pocket's LCD being more square whereas LCD's such as this are a 4:3 ratio. The new LCD features a resolution of 480 x 234 which is quite a bit more than the 160 x 144 greyscale screen of the Gameboy. In the image above the overscan and other TV output settings have not been adjusted to fill out the entire screen but a general idea for the visible area can be seen by the area illuminated by the backlight.

pocket-25.jpgpocket-26.jpg


http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

b_350_20_692108_381007_FFFFFF_000000.png

Krakin's Home Dipole Project

http://www.stevemeadedesigns.com/board/topic/186153-krakins-dipole-project-new-reciever-in-rockford-science/#entry2772370

Krakin, are you some sort of mad scientist?

I would have replied earlier, but I was measuring the output of my amp with a yardstick . . .

What you hear is not the air pressure variation in itself

but what has drawn your attention

in the two streams of superimposed air pressure variations at your eardrums

An acoustic event has dimensions of Time, Tone, Loudness and Space

Everyone learns to render the 3-dimensional localization of sound based on the individual shape of their ears,

thus no formula can achieve a definite effect for every listener.

Link to comment
Share on other sites

http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

First the borders at the top and bottom of the LCD needed to be filled in, this was made quick by using some strips of electrical tape. Black paper would have worked better but its not something I had on and so tape was used in a pinch. Next a small amount of plastic was cut away and the the LCD was hot glued into place, fixing it semi-permanently to the front of the Gameboy Pocket's shell. Once illuminated one hardly notices the top and bottom borders with the screen still being larger than that of a Gameboy color.

pocket-27.jpgpocket-28.jpg


Next all of the now unnecessary components related to the power supply on the LCD's driver board were removed which included 3 capacitors and an inductor. One inductor and capacitor were still necessary for regulating the 2V supply to the LED backlight and was relocated below the LCD area as the rear housing for the Gameboy Pocket wouldn't fit otherwise. In the upper right corner of the LCD's driver board the original Gameboy power switch was soldered on the left and glued on the right. A two color LED is added in the same position as the original LED which will indicate power level and charging status. Lastly some lengths of wire were soldered for LCD power/video, the power switch, and the LED.

Power Supply
There will be 3 main power supplies/regulators used in the Pi-Pocket to provide the necessary power to the Raspberry Pi and the LCD. The first is a 3.3V switching regulator used to decrease power consumption by the Raspberry Pi. By Default the Pi comes with a linear regulator for the 3.3V required by the CPU and generally by swapping this for a switching regulator one can reduce consumption by 25%. The second regulator will be used to regulate the 3.7V source from the Li-Po battery and additionally provide a level of protection by preventing shorts from reaching the battery itself. Lastly a charging regulator will be used to supply power to the battery from the 5V input at the bottom of the Pi-Pocket.

pocket-31.jpgpocket-32.jpg


The 3.3V switching regulator is extremely tiny and was designed to fit in the footprint of a TO-220 style linear regulator. This item found a home on some free space on the site of Raspberry Pi. The regulator is placed at an angle to match the contour of the rear shell of the Gameboy Pocket.

pocket-33.jpgpocket-34.jpg


Next the pins of the switching regulator board are wired to the GPIO connector on the Raspberry Pi. This feeds off the 5V that will be also connected to the GPIO header and returns the 3.3V necessary for the CPU and other components. Additionally the power input of the LCD will be connected to the GPIO header simplifying the internal wiring.

pocket-35.jpgpocket-36.jpg


It was then time to place the 5V regulator output board (top) and the 3.7V Li-Ion (Li-Poly) battery charger (bottom). First a spacer was cut from the plastic case the SD Card came in and awesome glued in the space where the original Gameboy Pocket regulator was located. Next the output regulator was placed in the thin free space between the gamepad board and the side of the Pocket's shell.

Sound
Where would a round of Tetris be without the iconic music that goes with that brick stacking madness? There were several issues to overcome when adding sound to the Pi-Pocket since the Raspberry Pi outputs line level (headphone) output. This would mean a speaker like the one found in the original Gameboy would barely make any sound. The original speaker is quite large in depth and would no longer fit when sandwiched in with the Pi and Li-Ion battery.

pocket-37.jpgpocket-38.jpg


A miniature amplifier was chosen with a small footprint and a 5V input. The board was then trimmed slightly, much as basically every other component has been. Next the board was glued in some free space to the gamepad board which serves as host to the main regulators and allows easy removal of large sets of "modular" components. The word modular used loosely only to describe the ability for the project to be disassembled without having to break out a soldering iron.

pocket-39.jpgpocket-40.jpg


Super strong magnets were much less common and thus more expensive 17 years ago when the Gameboy Pocket was built. The new speaker has several times the wattage rating of the original speaker while being half as deep. The downside was not being able to find a speaker the same diameter meant a few cuts would need to be made to shape the speaker to fit in the front shell.

pocket-45.jpgpocket-46.jpg


Needing some way to control the audio it made sense to reuse the original Gameboy volume potentiometer. With the knob liberated from the Gameboy's motherboard it was time to find a way to mount it. Since both the USB port and the potentiometer are both made of metal that solder sticks to readily it was easy to create a small mounting bracket using some bits of the old battery contacts. With the knob mounted in place wires and an additional connector were added to keep with the theme of modularity.

Putting It All Together
The next few bits progressed quicker with the excitement of several key components finally arriving in the mail. Mostly this includes a large amount of point to point soldering, test fitting, and giving everything connectors. Being a total sucker for connectors it was important that the major components disconnect with the rear half being completely removable. There is a sacrifice in space when using many connectors, however, it can be accomplished with some creative thinking.

pocket-41.jpgpocket-42.jpg


Here we have the two shells, the LCD Screen and the USB port being the only items attached to the shells. The screen is held in place with a liberal amount of hot glue while the USB port is super glued in place. The Raspberry Pi has been modified to include two connectors on either side to provide 5V input power, USB to the gamepad, and audio to the mini amp. Additionally a cable was wired to the GPIO 3.3V output and to the composite video output that connects to the LCD.

pocket-43.jpgpocket-44.jpg


Next a group shot of every part that makes up the Pi-Pocket. A smaller half-height SD Card to Micro-SD adapter is used to connect a speedy SanDisk 32GB Ultra card with ample room for all my favorite games and more. Next the two halves are assembled and the main connections made creating a sort of hinge. The remaining connector provides the audio and is easy to connect as the two halves are hinged inwards. This last image is the best at showing all of the intricate wiring and how flat everything has to be to fit. And to think, I originally thought I would fit two batteries inside the Pi-Pocket. Everything fits perfectly with about a millimeter and a half of extra room meaning the Pi-Pocket maintains the exact same feel of the original Gameboy Pocket.

Surprise!
You didn't really think I killed that poor Gameboy Pocket from the start of this log? No way, this one had a cooked CPU and would unfortunately never play another round of Tetris or any other game again.

pocket-49.jpgpocket-50.jpg


Its important to stress here that the point wasn't to only play Tetris with a backlight its about the ability to play any game from many popular systems plus the unlimited reprogram-ability of a Raspberry Pi, with a backlight :)

Code
The code for the Teensy can be found here on GitHub.

There are no other specific customizations to the Raspbian build other than setting overscan which is more a trial and error type situation. I will gladly publish any configs or RetroPie settings used upon request.

Parts List
$35 - Raspberry Pi Model B (512MB RAM)
$25 - 2.5 Inch Composite LCD Screen
$20 - SanDisk Ultra Micro SDHC Class 10 30MB/s 32GB SD Card
$16 - Teensy 2.0 USB Development Board
$15 - Gameboy Pocket pretty much any condition with working button pads
$7 - 3.7V Li-Ion (Li-Poly) Flat Cell 606168 2600mAh Battery
$7 - 3.7V to 5V Step Up Regulator for Li-Ion Cells
$5 - 3.3V Switching Mode Step Down Power Regulator
$3 - Miniature Audio Amplifier
$2 - 5V Mini 1A Charging Board for 3.7V Li-Ion Cells
$2 - Mini round 28MM thin speaker
$2 - USB Port with No Flanges
$2 - Replacement Gameboy Pocket Screen Lens
Raspberry Pi Gameboy Pocket (Pi-Pocket) was created by Travis Brown, email: [email protected].



http://www.xodustech.com/projects/raspberry-pi-gameboy-pocket

b_350_20_692108_381007_FFFFFF_000000.png

Krakin's Home Dipole Project

http://www.stevemeadedesigns.com/board/topic/186153-krakins-dipole-project-new-reciever-in-rockford-science/#entry2772370

Krakin, are you some sort of mad scientist?

I would have replied earlier, but I was measuring the output of my amp with a yardstick . . .

What you hear is not the air pressure variation in itself

but what has drawn your attention

in the two streams of superimposed air pressure variations at your eardrums

An acoustic event has dimensions of Time, Tone, Loudness and Space

Everyone learns to render the 3-dimensional localization of sound based on the individual shape of their ears,

thus no formula can achieve a definite effect for every listener.

Link to comment
Share on other sites

Well, that's freaking awesome. I really want to build one of these now but I don't have anywhere near the experience or steady hand required to solder some of those tiny pieces. There are a ton of systems this could emulate, even with just the A/B/Start/Select and D-pad.

This is making me want to go fire up Pokemon Gold on my phone...

wtf is lolcats?

I'd def get a fat hooker if i had to resort to that kinda thing. I feel like they'd be grateful and work harder. Also its more bang for my buck, more real estate for my dollar if you catch my drift. its like the Costco of streetwalkers.

I was hoping for 150 :(.

I was hoping she would let me put it in her butt

Link to comment
Share on other sites

Well, that's freaking awesome. I really want to build one of these now but I don't have anywhere near the experience or steady hand required to solder some of those tiny pieces. There are a ton of systems this could emulate, even with just the A/B/Start/Select and D-pad.

This is making me want to go fire up Pokemon Gold on my phone...

Right?

$140 in parts with a whole log on how to assemble everything. I may find time to do this near the end of summer.

b_350_20_692108_381007_FFFFFF_000000.png

Krakin's Home Dipole Project

http://www.stevemeadedesigns.com/board/topic/186153-krakins-dipole-project-new-reciever-in-rockford-science/#entry2772370

Krakin, are you some sort of mad scientist?

I would have replied earlier, but I was measuring the output of my amp with a yardstick . . .

What you hear is not the air pressure variation in itself

but what has drawn your attention

in the two streams of superimposed air pressure variations at your eardrums

An acoustic event has dimensions of Time, Tone, Loudness and Space

Everyone learns to render the 3-dimensional localization of sound based on the individual shape of their ears,

thus no formula can achieve a definite effect for every listener.

Link to comment
Share on other sites

Awesome. I'm really wanting to build this. May do it in a few weeks when I get more free time. Thanks for share!

1997 Lexus ES300

HU - Pioneer MVH 7350

Processor - Helix DSP

Front Stage - JBL P660C

Mid/high amp - Alpine PDX-F4

Subs - 1 IA Death Penalty 12

Sub Amp - Cactus Sounds PF300.1

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...