I saw some others build these and I thought they were AWESOME! So in short I put a raspberry pi inside of a GameBoy. What makes mine different from all of the others is instead of opening a lot of hole in the sides for usb and ethernet and the sd card, I decided to utilized the game cartridge slot and battery compartment and make the GameBoy as stock looking and sleek as possible.
Components
1×
Thumb Slide Joystick
A joystick very similar to what is in a PSP
1×
MCP3002
Data Converters / Anarlog to Digital Converter ICs (ADCs) for joystick controller
1×
LCD Car Revers Backup Camera Monitor
3.5 Inch TFT LCD Monitor for Car / Automobile
1×
Raspbery Pi B
Raspberry Pi Model B
1×
Broken Gameboy
A Broken Originial Gameboy to use as a case.
joystick and Analog to Digital Converter came in. I installed them and right after setting up the drivers and getting it to work (While using HDMI as this is a bit easier) the composite output stopped working. I have no clue why, some say that voltage applied to the composite output can damage the SOC. It is definitely dead though as there is not voltage on the output of the composite and when the SD card is plugged into another pi it displays composite just fine. Although I don't recall any voltage being applied here it is certainly possible something may have accidentally slipped, so it looks like the second Raspberry Pi is dead. I've ordered a new Raspberry Pi B and this will be my second time rewiring the Pi. This time I will probably encase the composite connection with some hot glue. The new pi should arrive in the mail next Wednesday. for now I will update about the software I used, the cartridge builds, and the joystick install whenever I get the time.
First thing I did was tear down the GameBoy and cut out a larger hole for the LCD to fit in. Then i painted the GameBoy as it was very faded. Then the LCD was fitted. some of the PCB of the LCD had to be trimmed where the tact switches were attached And the GameBoy's PCB screw mounts were cut and ground off. The LCD and PCB were attached with hot glue.
The PCB for the GameBoy controls was cut
and places in the PCB were scratched away and wires attached to the
traces of the PCB connected with a common ground. this was then
reattached to the GameBoy.
(sorry the picture is blurry)
The
SD Card, GPIO pins, Ethernet Port, USB ports, Composite Video, and
3.5mm Audio Jack were then removed from Raspberry pi and a section by
the Ethernet port was trimmed as there is no traces there and provides a
way to hold the case together later. Also capacitor C3 was removed as
it is not needed for how it will be powered later.
(This is the PCB that I accidentally powered with 12v and fried. It is notched more by the ethernet and the camera and LCD flat flex connectors are removed)
The SD card was then wired up to some wires and hot glue was placed over
the wires to brace them and keep from lifting the pads. Note this is
the first time I wired the SD card. later, only the required lines were
wired. GND and 3.3V was attached at the GPIO instead since that provided
better support for the wire, and the SD card inserted switch was
bridged and the read-only signal was left disconnected as the raspberry
pi does not use it.
The controller was then attached to the GPIO pins and the composite video is connected to the Raspberry Pi and LCD.
The SD card wires were then attached to the cartridge connector. Note that this is the first revision of the Cartridge pinout.
The ethernet pins 1-6 were then attached to wires and connected to the cartridge connector. Only pins 1-6 are used because the raspberry pi is not using gigabit ethernet or power over ethernet. The usb pins 2 and 3 were connected after as the cartridge will already have a 5v+ and GND. The GameBoy was also cut so the HDMI port can be accessed from outside the GameBoy.
Revision 2 of the cartridge connector pin-out uses less pins and is much more reliable. The power wires, 3.3V 5V and GND, use 2 pins to provide a reliable connection. The SD card pins are alternated with the ethernet pins as the cartridge alternates position of the pins and the further forward pins made a more reliable connection so the SD card was attached to those pins as that is a critical component whereas the ethernet is not as critical. The same is done with the USB ports, one USB port is on the top pins and one is on the bottom pins. Because it uses less pins it also allowed me to not use the last 5 or so pins as these were damaged because this GameBoy suffered from an acid leak. It can also be seen that the contrast port has been used for a volume control for the speaker. this is still yet to be attached to an amplifier and used.
The GameBoy's switch was de-soldered from the board and hot glued at the top of the GameBoy and attached between the battery and the LCD. You can also see where a zip tie is used to keep the top of the GameBoy attached together.
The headphone jack from the raspberry pi was relocated and fits perfectly where the GameBoy's original headphone jack was mounted.
Originally I had planned to find a 4AA battery to 5V regulator but such a thing does not exists because the voltage of 4AA varies between 3-6V which makes it difficult to regulate to 5V. So I ordered a 3-9v step up to 12v converter to feed the LCD. This didn't work as the raspberry pi and the LCD draw too much current for the step up converter to work efficiently (No I did not connect the pi to the 12v regulator to burn it out. i burned it out on my voltage supply by not paying attention to what I had it set to). One of the great tricks i found and used was the fact that these LCD's actually regulate a cars 12V to 5v anyway. most people use this...