C.H.I.P.-boy Advance


Continuing the discussion from Game C.H.I.P. (early preview):
So I decided to do a fun project, fitting a CHIP inside a GBA case to emulate multiple consoles. Right now I have nothing, in fact I haven’t even ordered a CHIP (by the way, would anyone be generous and sell one to me so that I get it faster?) but I have already placed bids on 2 broken GBAs on eBay and now looking into other components.
This will be my first project of this scale, so I will need some help of the community :slight_smile:
The first problem: LCD. I just can’t find any suitable LCD for it… It is 2.9" by default, but I guess I could fit in something like 3.2"… I would like to keep the original screen cover/frame though, so 2.9" would be nice.
The second problem is adding X/Y buttons. I’m not even sure where to start looking for them… Because you know, I want decent buttons that aren’t too hard or too easy to press and have a similar feeling to the default GBA buttons. So buying them online is a bit risky… Maybe someone here who has done something similar can give any advice?

How to connect surface-mount chips to GPIO?
Some portable console hack?

why don’t you use the buttons from the gameboy then?


Wow, I’m dumb :smile: At first I thought that I need some extra buttons because GBA has only A and B, but not X and Y buttons (which are needed for consoles like SNES). Now I realized that if I’m buying a second one, I can take out the AB buttons from that one and use them as XY. Thanks for bringing me back to the rational world :slight_smile:


Regarding the screen, I just found this one:
Do you think it could be used with CHIP? It seems to support both parallel and serial interfaces, but the description is a bit foggy :slight_smile:


very interested as I have a broken game gear I would like to do the same with


Hey, if you have a GBA, could you please send me some measurements? 3.2" displays are easier to find but I don’t know if one will fit. I can find the body dimensions online, but I can’t find internal and external height/width of the display window anywhere. It would be awesome if you could send me these dimensions :slight_smile:



This should get you started on a decent display. Wire it up to the LCD controller pins on C.H.I.P. the same way you would for PocketC.H.I.P. Assuming it’s the same LCD protocol. I didn’t check. Anyway, using the PocketC.H.I.P. schematics (assuming they’re available - I think they should be at this point(sure hope, anyway, for my sake)) it should be realatively easy to figure out what goes where. Also, FYI, I dunno about the GBA but the original Gameboy will take any display up to about 3.5 inches.


Thanks for the help, but I don’t think this will work because CHIP has only RGB666 pins, and that one uses a different bus AFAIK. Btw, if you look at Aliexpress, you will find some much cheaper almost identical panels for about $5. And I would like to keep it retro, so cutting out the original screen cover to fit a bigger LCD is not desirable :slight_smile:


Oh, you don’t need to use the driver board included. Just wire it up directly to CHIP using the Adafruit TFT Friend. If you look at the second link, you know what I mean. You can get all sizes of display panels, but they won’t all be as high a resolution, which may create further issues than the already cramped up resolution might cause.


From what I understand, that Adafruit board is just a breakout with a backlight driver. But does it provide a wrapper to the way you send pixel info too? It seems confusing to my beginner mind, CHIP has RGB666 so I guess that’s 6 bita per color, but that adapter board has 8 bits per pixel… I thought I could just use a simple breakout for something like this, and drive it directly from CHIP, but now it seems that’s not the case:


The Adafruit TFT Friend allows you to directly drive a display! You just need to solder on leads to the breakout and wire them to the corresponding pins on the C.H.I.P. itself. I think you need to enter a few commands to activate the pins for lcd control. @computermouth? Is that right?


Well, that means I need to buy an Adafruit thing that costs twice as much as an LCD panel… I would have loved to skip this :slight_smile:
But what I meant is that the Adafruit thing doesn’t match CHIP’s connectors. At least from what I understand, CHIP has 6 pins for each color, and that one has 8. Something’s not really right here…


Hmm… I heard somewhere that PocketC.H.I.P. has slightly less bit-depth than it could on the display because they didn’t utilize certain pins… I’ll look into it, unless someone more knowledgable steps in. cough cough


I have an sp but not the original one I will measure it for you as soon as I get home


I have received the datasheet of one candidate:
It seems like this one accepts RGB666 data, can someone verify that?
If it does, then I still have a couple of things to clear up:

  1. It’s designed to work in portrait - will I be able to flip the video output by 90° using software on CHIP?
  2. What connector am I supposed to use to connect it to a PCB? If I got it right, the datasheet suggests using a third party BTB connector, but I can’t find it for sale, and looks like the pitch is 0.4mm so I can’t really find anything useful at all. Weird that the produ’t datasheet doesn’t give any info on the connector except pin names.

EDIT: it seems like a connector is included, but how the hell do I solder a 0.4mm pitch SMD component?


First of all, I wish you good luck trying to get a Chip into a GBA housing, unless it’s the GBA SP. But personally, I think the SP is a bad choice because it’s not very comfortable. If you want to try fitting the Chip in a GBA housing, first thing you should do is remove the headers, the USB port, the headphone/video connector and the battery connector. Maybe even the micro-USB connector. And of course the plastic back What remains could fit in the cartridge slot with a bit of luck, or in the battery bay (maybe you could find a LiPo that fits in the cartridge slot). You have to design PCBs for the buttons because it’s nearly impossible to reuse the original GBA PCB for that. All connections to where once connectors used to be now have to be done with thin wires soldered straight to the Chip (tip: copper-enamel or kynar wires).

So be prepared for some soldering and PCB designing jobs!

I think it doesn’t matter when a display doesn’t support RGB666. If the display theoretically works, but expects RGB888, you just don’t use R0/1, G0/1 and B0/1 and shift the other bits (ie. R2 becomes R0, R8 becomes R6).

I’m not a Linux guru, but from what people are doing with eg. a Raspberry Pi, I think that rotating the screen 90 degrees should not be a real problem and can be set so the Chip will already boot correctly.

For soldering the .4 pitch connector, you need a hot air soldering station. I strongly advise you to use the Adafruit breakout board instead.

Considering the costs of the parts and the total costs of the project, it might well be that the Chip turns out to be the cheapest component. And the completed Chipboy will probably cost 4-5 times as much as a good used GBA will cost. But hey, this is hobby!


Well, the GBA is twice as big as GBA SP, that’s why I chose it. There shouldn’t be a problem fitting it after I cut out the battery compartment and glue the cover in place to disguise it. It’s 2.4cm thick so really, no need to strip the headers.
Using the Adafruit breakout involves soldering anyway, so I don’t see a reason to waste any money on it. But I already found a suitable screen for less than $5, and the seller agrees to ship it pre-soldered to a thru-hole adapter for $3 extra. So don’t worry, the CHIP won’t be the cheapest component by any means :slight_smile: maybe even the most expensive one. Well, at least I don’t see myself buying a $10 set of buttons :wink:
Other projects (with RPi) have used the buttons from handheld consoles, and they were all functioning in a similar way. People just cut them out of the board and solder in some wires :slight_smile:
And even if it gets quite expensive…

  1. as you said, it’s a hobby
  2. it will run other consoles too :slight_smile:


What about using a regular game boy or one of the later ones like the pocket


I’m very curious on your final mileage, keep us posted! I’ve considered doing the same, but I think I’d prefer a modded (for 2 additional buttons) Gameboy or GB Color case. But I’m also still thinking about the inside. A RPi3 would allow many more emulators to run, but requires much more space. An Orange Pi PC Plus is twice the price of the Chip, about twice the size but also almost twice the power (also allowing for more emulators to run). I still haven’t decided but at least I have a few Chips at hand for experiments.

Btw. it would be nice if it was possible to buy a case looking like an existing handheld with the button PCB, the display and PCB mounts already present, ready to accept a Chip. I wonder why the Chinese still haven’t made something like that for the Pi Zero already. Maybe because still no one is able to buy a Zero.


yeah it’s probably because Zero is still out of stock.
@BigBadHodad I’ve thought about using a GameBoy, but it has less buttons (no shoulders), and the screen is a small square, so it would be hard to find one without needing to cut out a bigger hole (which ruins the looks IMO).
There are some replacement cases for sale, and they include the rubber buttons, but then I would need to print a PCB with button receptacles. I would like to do that, but I don’t know what size and shape I need to print for them to work… There is no way I can design that PCB without having a disassembled GBA first, and that means I still need to buy one… Unless someone provides a PCB design for me, so I can just order a print.