gameboy dmg lcd screen free sample
Instead of placing many off-the-shelf chips on the motherboard, Nintendo opted for a single chip to house (and hide) most of the components, including the CPU. This type of chip is called ‘System On Chip’ (SoC) and the one found on the GameBoy is referred to as DMG-CPU or Sharp LR35902
All graphics calculations are done by the CPU, and then the Picture Processing Unit or ‘PPU’ renders them. This is another component found inside DMG-CPU and it’s actually based on the predecessor’s PPU.
The picture is displayed on an integrated LCD screen, it has a resolution of 160×144 pixels and shows 4 shades of grey (white, light grey, dark grey and black). But since the original Gameboy has a green LCD, graphics will look greenish.
If you’ve read the NES article before, you may remember that the PPU was designed to follow the CRT beam. However (and for obvious reasons), we got an LCD screen in the Gameboy. Well, the new PPU doesn’t alter that part, since LCDs require to be refreshed too. In fact, some special effects achieved thanks to this behaviour will also be supported on the Gameboy.
The Background layer is a 256x256 pixel (32x32 tiles) map containing static tiles. However, remember that only 160x144 is viewable on the screen, so the game decides which part is selected for display. Games can also move the viewable area during gameplay, that’s how the Scrolling Effect is accomplished.
At first, this may sound like a silly feature. After all, the window layer overlaps everything else so what’s it useful for? Well, both Background and Window can be used concurrently at different parts of the screen. This is accomplished by changing the LCDCONT register during specific scan lines.
Sprites are tiles that can move independently around the screen. They can also overlap each other and appear behind the background, the viewable graphic will be decided based on a priority attribute.
To be able to pass these checks, games had to include a copy of Nintendo’s logo (in the form of tiles) in its ROM header Copyright and Trademark laws to control the distribution, Clever huh?. The Gameboy ROM also embeds a copy of the logo to be able to compare it.
Nintendo logo is copied from the cartridge ROM to Display RAM, and then it’s drawn at the top edge of the screen. If there is no cartridge inserted, the logo will contain garbage tiles. The same may happen if it’s badly inserted.
Interestingly enough, the Nintendo logo displayed on the screen is not cleared from VRAM, so games can apply some animation and effects to introduce their own logo.No support for video.20y, a homebrew demo that fiddles with the logo.
There’s just something about the original Game Boy that just is so aesthetically pleasing to me. But that old dim screen, gross! And the lack of Game Boy Color game support, so inconvenient! But you can just play them on a GBC, you say.But the GBC is so much smaller now compared to when I had one as a kid! My hands cramp up too quickly! It feels just a bit more chintzy than a nice, solid DMG! So in order to satiate my desire for a nicely lit, GBC-compatible DMG, I stuffed a GBA SP motherboard inside of a DMG case. It took a long time, got delayed more than once due to parts I didn’t have available, and was very frustrating at times, but I was able to finally complete it.
And after finishing my SP-in-a-DMG mod, I was really enjoying it… for about two weeks. It worked pretty well, but started showing some symptoms that something was not right. Sometimes the screen wouldn’t turn on. Only rarely, but it began occurring more and more often. Eventually, I was unable to boot at all, even without a game cartridge in the slot. After hours of troubleshooting, with some help from a few very knowledgeable folks on Discord (special thanks to gekkio for his help, and who has an infinite well of Game Boy knowledge on his website and github that I reference a lot), we determined the power management chip on the SP was bad. I guess that’s what I get for buying a cheap used SP on eBay that was labelled “for parts”. Unfortunately, the custom nature of the mod made replacing the SP board more trouble than I deemed it was worth. I declared the project dead, and stripped off most of the parts and threw the rest in a box to potentially tinker with in the future (but honestly, it will probably just stay in a box in my closet). Also taking it apart, I realized that some of the work was probably on the shoddier end, due in no part to trying to rush to finish it, and it being my first foray into Game Boy modding.
While completing my SP-based DMG, I was shown some actual completed GBC-in-DMG mods (henceforth called “DMG Color”) that I had not seen in my searching before starting the project. Putting the GBC inside the DMG case involves cutting off the bottom half of the board, underneath the cartridge connector. Luckily, even though I need to get rid of about 50% of the entire board, after doing some deep dives into the schematics and layout, I found out that the GBC is much easier to deal with than the SP is. The GBC is just a two-layer board, for starters, so knowing what I’m cutting is much easier to determine. There’s a lot of empty space to play with, and most of the parts on the bottom half of the board aren’t necessary for the work I plan to do anyway.
The reason the bottom half needs to be removed is because the board interferes with the battery compartment on the DMG shell, which doesn’t allow the cartridge connector to fit nicely in the back. Well, that, and the buttons don’t line up at all. So the plan of attack is to remove the bottom half of the board, use a DMG button input PCB for the button inputs (I used this in the last mod), and relocate all other necessary parts on the bottom elsewhere inside the case. And, of course, I need to replace all the ports and controls on the GBC motherboard with the ones for the DMG.
For reference, this reconstructed PCB view of the DMG main motherboard to find the proper numbers. Not coincidentally, the schematic and PCB of the DMG came from forum user bit 9 at chipmusic.org. Thank you mystery internet person! Also, I’ll be using some pictures/views from gekkio’s Game Boy Hardware Database because I’m bad at taking my own pictures. Full references can be found on the bottom of the post.
Anyway, with that disclaimer out of the way, let’s dive into my process. I’ll start with an overview of all the hardware testing I did to verify everything would work properly, then I’ll show some diagrams and schematics to detail all of the modifications I needed to do on the GBC and DMG boards and how I wired them up, then I’ll discuss the preparation of the interior of the DMG shell, followed by a final wiring and reassembly.
The DMG I had previously tested with my other mod, so I knew all of that worked fine, and the GBC seemed to be fine as well. Like my previous mod, I used Pokemon games to trade between the donor GBC and another working Game Boy to check everything.
All the buttons worked, the Pokemon traded fine, and the volume dial and headphone jack worked great. Next step was to open it up and swap the LCD screen out with the IPS one I got. After that, I quickly tested using a LiPo battery with the GBC. I tested it from full charge, and let it drain down to empty, just to make sure it all worked fine. Normally, the GBC just uses two AA batteries in series, which provides between 2V and 3V, depending on the state of charge. The LiPo battery I was using had a range between 3.2V and 4.2V, more than a volt above the highest input voltage it expects, but my research and experimental verification indicated that it works fine. The only downside is the power LED won’t dim at all when it’s at low power. But… that’s what the IPS screen is for!
The Q5 IPS screen I got is pretty big, and pretty bright. It comes with two touch sensors to change the brightness, and the color pallete. It also has the option of wiring up three buttons (normally select, A, and B) that let you manually change brightness/color levels through an OSD (on-screen display) menu, among some other handy features like letting you offset the screen’s X and Y positions to center the screen if you installed it improperly. And, there’s also the option of connecting a pad up to the battery voltage, so you can have a battery level indicator on-screen. I quickly tested the screen out, and it looked beautiful playing the GBC games! I’ll test out the rest of the features later on.
The blue wires there indicate a bit of foreshadowing! Ok, quick initial tests show everything working as it should. Now, I’ll go over how I cut up the DMG motherboard to obtain the volume dial, EXT port, DC jack, and power switch that I’ll need.
The next step to take was to cut up the DMG motherboard to harvest it for parts. To get the parts I needed, I used a Dremel to cut portions out of the DMG board, and tried to keep at least one mounting hole from the PCB so I’d have an easier time lining it up and securing it to the case when I put it all back together. Before cutting it up, I removed parts from the board near the cuts I’d be making, like capacitors, resistors, and diodes. I saved two sections of the main board: a portion with the link port and volume dial, and a portion with the power switch and DC jack. Side note, in the picture of the back of the power switch/DC jack board, I added a 1kΩ resistor, which connects the “OFF” position of the switch to the GND pin of the DC jack (which connects to the rest of the board ground through another wire). This will show up on the schematic in a later section. I also removed the headphone breakout board that houses the headphone jack to save for later.
In addition to removing these parts, I also removed the DMG’s cartridge connector using copper braid and some new solder. I’ll need to use this later on.
In order to start preparations for the parts I needed to remove, relocate, or replace on the GBC, I made up a handy little diagram for me to follow, shown below. Remember that I’ll have to remove the bottom half of the GBC to get it to fit inside the DMG case with the cartridge slot in the proper location.
Before I dig into the real meaty part of this diagram, let’s go over the easy stuff first. The power switch, volume dial, EXT port, headphone jack, speaker, and cartridge connector will all be replaced with their DMG counterparts. The power LED will be replaced with a two-color LED wired off-board. The IR LED and IR sensor on the top of the board will be removed, as the DMG didn’t have this (and not many GBC games used it regardless). The AC adapter jack on the bottom of the board will be replaced with the DMG DC jack (at the top of the console), but will be used to charge the LiPo battery instead of powering the system. So, all of these parts will simply be removed for now.
The power supply board, underneath the D-pad in the left picture, needs to be carefully removed, because it will be used later on as the voltage regulator from the LiPo battery. It supplies the 5V rail, 13.6V rail, and -15V rail. The 13.6V and -15V rail are only used to power the LCD screen – but I am using an IPS screen, which only requires a 5V rail. Instead of re-wiring these two supplies back to the board where they will be going unused, I instead opted to tie them to GND using 10kΩ resistors, in order to keep them from floating to possibly high voltages. Those unused rails are on pins 5 and 6 of the power supply board, shown below.
After I had cut up the board (Future Nick here to tell you about it), I found that the cartridge connector on the GBC with the board attached didn’t fit very nicely in the slot. It caused the board to rise up a bit and hit the metal shielding on the cartridge connector. This is because the GBC connector (right) is thinner than the DMG connector (left).
It’s hard to take a good picture of how the GBC board sits like this so I’m not including it here. It basically tilts the whole board up a few degrees, and causes the board to contact the metal shielding. Instead of taping it all up and shoving cartridges into the connector anyway, which might over time loosen the connector pins, I decided to use a DMG cartridge connector in the GBC board. So I had to carefully remove the GBC’s cartridge connector. The pins line up perfectly, except pin 32 needs to kink out a bit. But that’s not a huge issue, and makes the whole board more secure in the long run, as the DMG’s plastic mounting will sit nicely on the screw holes for the DMG case.
Note though, I needed to trim the plastic posts on the bottom of the DMG connector so the whole thing sits flush against the board. (Apologies for the bad picture – I neglected to take one myself and it’s actually hard to find a picture of this thing off of the board)
Other than those things that I’ve mentioned, everything else on the bottom half can go. The remaining parts are either ferrites for noise filtering, or components that contribute to the LCD screen – but, as I mentioned, because I’m using an IPS screen, most of the LCD parts are unnecessary. All the supporting circuitry for the two now-unused power rails are unnecessary. Which brings me to U9 and U10, located just above the cartridge connector and below the power switch. These two chips are dual transistor devices, used for part of the LCD screen control.
Because the LCD’s 13.6V and -15V rails aren’t being used anymore, the parts that control the power going to the LCD screen are also unnecessary. However, some of the parts are located above the planned board cut line, while others are located below it and will be removed. Instead of worrying what will happen when some parts are removed and some aren’t, I opted to remove the two active parts left on the top half of the board that could feasibly pose an issue – U9 and U10. Removing the bottom half of the board, for example, will remove VR2. This could leave the base of the NPN device in U10 (pin 3) floating – which could cause excess power consumption, or even heat up the device itself. I don’t think this is necessarily likely, but it’s better to be safe than sorry. Removing these devices doesn’t hurt anything, at any rate.
In order to fit the GBC board inside the DMG case, other than cutting the bottom half off, there are some notches I’ll have to make at the top to get it to fit properly. Luckily, many of the parts that could get in the way of this are also unnecessary, as they are used on the IR blaster and power LED, which are going to be unused – the parts are Q2, Q3, R7, and R8. Also, the DMG cartridge connector, being larger than the GBC one, hangs over some of the parts on the bottom of the top half of the board. Only a few are in the way, namely R2, R22, R5, and C36. Luckily these are all on the LCD circuit and can be removed without any issues. Finally, EM9 needs to be moved because I need to cut the board close to where the link port is mounted. And, one side of C9 will need to be reconnected to ground, as I will be cutting off the ground connection to it (but the part can stay on the board).
Anyway, the first cut is the largest. I basically cut across the bottom edge in a straight line, just above the BT+ terminal. This will make the board fit in the top half of the DMG shell. Time for the most stressful part of the build.
Afterwards, I cleaned off all the dust with some isopropyl alcohol, and inspected the board for any lodged conductive bits. Then, I returned to my workbench and reassembled the IPS screen, power switch, and the battery, just to make sure nothing was damaged. Luckily, it survived the ordeal. Now, it’s time to cut it up even more. The board won’t fit in the back shell without some notches to allow for the screw holes, and there needs to be some clearance for the DMG parts to fit as well. The good news is though, all of the places I need to cut only contain non-essential traces, so I have a bit of freedom to make this fit nicely. Here’s where I cut notches, and a view of the front and back of the board with the copper exposed.
I iterated on this a few times, trimming parts of both the GBC and the two DMG boards here and there to provide enough clearance between the boards, and finally got it to fit nicely. I’ll be trimming off any loose metal or board material, and probably using Kapton tape on the edges of the board to keep things from shorting. I’ll also most likely secure the boards together with a bit of glue to keep things steady, once everything is wired up.
For the EXT port and the DMG button board, I do not show direct wires, but rather indicate where the wires connect with colored dots, for readability.
I have seen many DMG mods that use a USB-C to charge LiPo batteries. But, as I do not want to make any external modifications to the Game Boy, I’m going to use the DC jack to charge my battery. The jack accepts the Game Boy AC adapter. This outputs about 6V nominally. What I want to do is take this 6V and plug it into my battery charger, which will produce the proper voltage/current setpoints for the LiPo battery. Adafruit sells a pretty easy-to-use battery charging board, and I figured this was easier/cheaper than making my own board after pricing out the individual parts plus the PCB. Looking at the batteries, I opted to get a nice, beefy 2000 mAh one with built-in overcurrent, overcharge, and overdischarge protection. None of the (larger) batteries that Adafruit sells would fit natively in the battery compartment – but, I will detail the battery compartment modifications to make it all fit later on.
I set this board up to charge at a bit less than 200 mA, just to be safe. The DMG AC adapter only outputs 250 mA maximum anyway. So from an empty battery, it’ll take a bit more than 10 hours to charge up all the way (tests ran after final assembly clock in at approximately 11 hours). I don’t think I’ll care about letting the Game Boy have to sit for a bit longer to charge up, and my instinct is that running this thing at full power should last me 10+ hours as it is (tests ran after final assembly, using a flash cartridge, clock in at approximately 14 hours). To get 200 mA, I soldered a 10kΩ resistor on the “500mA” pad, instead of shorting it. Check out the schematic:
So anyway, in summary, I will be using the power from the DC jack on the DMG (pin 1 is GND, pin 2 is 6V), through a buck converter to regulate to 5V. This 5V will pass to the battery charger (5V hole on the LiPo charger), and then charge the battery. The battery positive line (BAT on the LiPo charger) will go to a 1A fast-blow fuse (GBC used a 1A or 2A fuse), and ultimately to the power switch.
One of the most crucial parts of the builds, the DMG power switch, is straightforward to connect to the GBC motherboard, once you think about it a bit. These two switches are different from each other – the DMG power switch is a DPST-NO/NC switch, and the GBC power switch is a simple SPDT switch. What are these abbreviations? Let’s start with the DMG switch. DPST means “double pole single throw.” This means there’s two separate switches that are controlled by a single toggle. NO means normally open, and NC means normally closed. So, a DPST-NO/NC switch has one normally open and one normally closed switch. Here’s a graphical representation of what I mean.
So, it’s luckily very easy to turn the DPST-NO/NC switch into a SPDT switch. All there is to do is connect pins 1 and 3 together on the DMG switch, and that will act as pin C on the GBC switch. Then wire DMG pin 2 to the battery positive terminal (with fuse in series!) and DMG pin 4 to the pull-down resistor. (On the DMG board I cut out, I used a through-hole resistor to replace R1, so I didn’t have to wire to the actual GBC board.)
Oh, one note about the power switch. The original DMG switch had a little piece of plastic that extended out to keep the cartridge in during gameplay. It also had the added effect of preventing you from playing anything other than Game Boy games on it. In the picture below, I’m using Game Boy games on the left, Game Boy Color games on the right. And you can see that the button is blocked by the GBC cartridge for the original model.
The other DMG-harvested mini-board that I have house the link port and the volume dial. The DMG model’s EXT port is a different size than the Game Boy Pocket, Color, and Advance consoles, but helpfully, the pinout is still the same for each port. This means I can simply wire the port to the correct pins on the GBC motherboard. Easy!
The volume dial is actually very straightforward, seeing that both the DMG and GBC wheels are five-pin devices. The GBC dial is essentially a slimmer version of the DMG one – same resistance and everything. And there are also very handily labelled test points available to wire to! The ground pin can go to VR1GND, or just any spot on the board that is connected to GND, whichever is more convenient.
With that out of the way, onto the bigger picture. The headphones and speaker on the GBC are wired a bit differently than the DMG. Check out the schematic below, where the GBC headphone schematic is compared to the DMG headphone board (apologies for the janky hand-drawn DMG schematic, I wanted to add my own notes):
Driving a speaker is pretty easy – the audio driver line is connected to the speaker and the other side is wired to GND. It is important, though, that somewhere in this audio path is a decoupling capacitor. Capacitors block DC components of signals, and if a DC voltage was applied to a speaker coil (which is low impedance), then the coil could become damaged due to too much power being dissipated within it. The audio signal only needs to be an AC waveform to make noise. If you notice, C38 on the GBC is responsible for decoupling the DC component from both the speaker AND the headphone jack (both left and right channels), whereas the DMG board has decoupling capacitors for both the left and right channels, as well as a separate capacitor for the speaker (not shown). Both are perfectly acceptable ways to wire it up, because the DC component will be blocked on every channel in both cases.
As for the headphone jacks themselves, they operate nearly identically to each other, with the only difference being their pinout. It appears pins 3 and 5 are swapped between them, but otherwise, everything is the same. Pin 3 on the DMG jack is connected to an internal switch that is normally closed (NC), which shorts pins 3 and 4 together (which is tied to GND). When an audio plug is inserted, this switch opens, and pin 3 is disconnected from GND. This is how the Game Boy knows when headphones are plugged in.
The GBC speaker, C38, EM1-EM5, and the headphone jack are all located on the bottom half of the GBC motherboard that will be removed. Luckily, none of these parts are needed if I wire up the DMG headphone board! I can simply wire the left and right channels to the RA2-LOUT and RA2-ROUT vias (again, the left channel is the wire labelled “B” on the board), wire pin 1/4 to GND, and pin 3 (white wire on the DMG board) to the SW test point, which is responsible for switching between headphone and speaker output. Also, since C38 is removed, I can just add an electrolytic capacitor in-line with the DMG speaker, with one side connected to SPKOUT on the GBC board. The easiest way to grab this signal is by soldering on the top of C14.
Also note that this amplifier, just like the one on the GBC board, is powered by the unregulated, non-noisy VCC line. The really clever thing here is that the ground connection to the amplifier board is only connected when no headphones are plugged in. Because I’ve wired GND to pin 3 on the DMG headphone jack, this connection will only be completed as long as there are no headphones plugged in. Once the headphones are plugged in, this connection to GND gets broken, and it turns off the amplifier board (and thus, the speakers). This means that there’s always an audio signal going to the headphone jack, but if nothing is plugged in, then it doesn’t hurt anything.
The guide mentions that the speaker needs to be rated for 2W, rather than the 1W that the DMG speakers are (I think they’re 1W?). The Amazon page for the amplifier mentions that 8Ω speakers are 1.5W max, but it also mentions 1W on the page, so I don’t know what to trust! It’s not very well documented. But just to be safe, I got this speaker that is conveniently the same size as the DMG ones, but rated for 2W.
I already talked about how I put the necessary parts onto the GBC regulator board in one of the above sections, so this will be quite short. All that’s really needed is to connect pin 1 on the regulator to the middle pins (pins 1 and 3) on the DMG switch, connect pin 3 or 4 (GND, tied on-board) to ground somewhere on the GBC board, and connect the 5V output on pin 7 to VDD somewhere on the GBC board. For the VDD and GND connections, I used pins 1 and 32 on the cartridge connector, respectively.
After testing the sound on the system, and fiddling with the audio amplifier, I determined this regulator board to be a likely cause of noise coupling into the audio output. The regulator is notorious for being pretty noisy, from what I’ve seen online, and it apparently has a relatively low switching frequency which is probably what’s causing the issues. So I opted to try replacing it with a more robust boost converter, now that I don’t need the unregulated higher voltage lines for the LCD screen.
The DMG has buttons in slightly different places than where the GBC has them. Luckily, the function of the buttons on a Game Boy Color are very simple – they just short a line to GND to indicate to the processor that the button has been pressed.
There exists a handy PCB that replicates the bottom half of the DMG’s LCD board where the buttons are housed. All I have to do is wire up this board to replace the GBC’s button inputs. All of the numbered pads in the schematic above that connect to the non-grounded side of each button input (P01, P02, etc.) are on the bottom half of the GBC board that I’m cutting off, so I have to find vias elsewhere on the board to use instead. There are multiple vias to choose from for each line, generally, but here are the ones I picked. Other than the eight buttons, a ground wire needs to be added as well, which can go anywhere on the board where there is a ground connection.
Installing this IPS screen is pretty self explanatory – remove the LCD, and put the ribbon cable going from the screen PCB in where the old ribbon cable was. As previously mentioned, this screen only uses the 5V rail, not the 13.6V and -15V rails that the LCD used. The board itself has a few connections to enable the OSD functions, as well as two capacitive touch pads to cycle between brightness settings and color palletes. Here’s a view of the pads for the OSD inputs. The red wire at the top is the wire that goes to the capacitive touch sensor for the brightness setting. But I’ll be changing some things on this board.
There is also a pad for the battery input, in order to display the battery level on the top of the screen. This normally measures the voltage of two double-A batteries in series, which is about 3V max (about 2V at empty). However, I’m using a LiPo battery, which has a max voltage of 4.2V (about 3.2V at empty). Luckily, the range of the LiPo battery voltage is offset for both min and max by 1.2V, so I just need to shift the battery voltage reading down 1.2V. An easy, albeit somewhat imprecise, way to do this is just use the forward voltage drop on diodes. The 1N4148 has a forward voltage of approximately 0.6V when the current is around 1mA. I can use a 2.5kΩ resistor, powered by the battery voltage (which isread after the switch, so it doesn’t constantly drain the battery), with two diodes in series, to get me that ~1mA. Then I can simply read the voltage across the 2.5kΩ to get a shifted battery voltage, and wire it to the BAT pad. It won’t be a perfectly constant voltage drop – at full charge, the current through the diodes will be greater than at low charge changing the voltage drop to vary slightly, but the difference is negligible, especially as the battery level isn’t that precise to begin with.
The touch pads are finnicky, and I didn’t see the need to use the color pallete swapping one too often. Both of the touch pad functions can be controlled via the OSD menu anyway. So I removed the color pallete one. But, as I mentioned previously, the space where the DMG’s contrast dial is located wasn’t being used for anything, so I opted to turn the brightness touch pad into a brightness button, held in place by a 3D printed bracket that I designed. I picked this button because it was the largest button I could find that would fit in this location, as well as having the largest travel distance (how far the button pushes in) of that series. Chosen for maximum satisfaction!
The Q5 IPS screen is actually wider than the original screen area will provide. So I will need to do some trimming along the edges to expand the viewing area. The product listing indicates that the window should be trimmed back by about 1mm. I opted for about 2, just in case. As long as I don’t remove too much of the border, it shouldn’t matter, as the lens will cover it up.
As previously mentioned multiple times, the GBC doesn’t have a contrast dial like the DMG (well, that is supposed to be easily accessible anyway), so I’ll be mounting that brightness button I wired up earlier where the contrast dial used to be. I designed a simplistic bracket to hold the button in place where the contrast dial used to be, as well as hold the screen in place so it doesn’t rotate. The lines seen in the model are just artefacts from Tinkercad, they’re actually smooth.
I had to cut two of the centering posts to get this to fit nicely, but they’re not necessary for the IPS screen anyway. I also printed a cover to go on top of the button, so the button actually sticks out and fits flush in the space where the DMG contrast dial used to be. Without this cover, you’d have to jam your finger into the hole, and there’d be some empty space surrounding it.
Anyway, once the bracket was held in place, I put the brightness button in the slot, soldered two long wires to it, and glued that down as well. With the bracket secured, and the button ready to go, I peeled off the protective layer for the screen lens and placed that on the shell, careful not to fingerprint up the interior screen. Then I peeled off the screen protector on the IPS screen and placed it carefully in the bracket. I secured it down with Kapton tape to keep it in place. An insulating layer came with the screen that adheres to the back, which is conductive. This is to keep the back of the screen from shorting anything out on the circuit board it connects to. So I placed that on as well.
The speaker I bought fits nicely in the designated speaker area on the DMG shell. Just had to put down some tape to keep it in place. I soldered the speaker terminals to the audio amplifier board where indicated. For the input to the amplifier, I left four long wires, one for each the left and right input, one connected to GND, and one connected to VDD. Then, I secured it to the opposite corner of the DMG front shell, which is empty. How convenient!
Most of the rest of this is self-explanatory when following the diagram, since there aren’t many places for things to go other than where they obviously belong. Firstly, I soldered the DMG cartridge connector in the GBC board. Then, to make assembly easier, I put all the boards in place in the back shell, and added a few dabs of hot glue away from any potential solder points. I added some Kapton tape in various areas to make sure the boards stay isolated from each other, in the event they get pushed too close together, before I glued them together.
Then I wired everything up for the back half assembly, which is basically anything that I haven’t already mentioned – the headphone jack, volume dial, link port, power switch, and regulator. I just followed my wiring diagram, and used long enough wires with sufficient slack. I guess the only thing that doesn’t have a defined position is the regulator board, which I nestled on the side where the DMG’s power board used to fit (I had to trim away the little plastic holder, though).
Finally, the IPS screen needs to be connected to the GBC board. This is quite a tight fit, so instead of just doing it directly, I opted to get a 50 pin FFC (flexible flat cable) extension. The one I got came with a 6-inch cable, which is pretty excessive, but it does get the job done and there’s ample room inside to place it. I will most likely replace this with a shorter one in the future.
What a wild ride. But finally, I have my DMG Color final build. Despite this being overall easier than my last one, I think I was more stressed out about working on this one! But, ultimately, I came out with a much cleaner build, and hopefully one that’ll be more reliable. But, like any project, hindsight shows me a few things I could have done to make my life just a little bit easier and to make the build better.
I probably didn’t have to cut the DMG board into so many pieces. The reason I had the pieces in the first place though, was because I had salvaged them from the previous project. But I probablycould have gotten away with cutting off a larger board area that would keep things more secure. The GBC board had clearance on the top when put in the DMG shell that I could have used for more structural support.
You know, thinking about this more, I might have a fun future PCB to create – shaped like the DMG board to fit in a DMG case, with DMG parts like the volume wheel and power switch, but with GBC guts. This way I don’t have to cut up boards, just transplant parts over, and even improve some things and introduce some customizability to it. But… that’s for another day.