Wire Out The Buttons Of A Gameboy Dmg
Welcome back! Believe it or not, this 2nd part of the all-custom-and-aftermarket part GBZ guide will finish it (compared to 6 parts for the original guide)! I won’t bother listing everything we’re covering since it’s just “everything else.”
For a list of parts I used in this build, check out the top of the first part of this guide: http://sudomod.com/game-boy-zero-custom-parts-guide-part-1/
I did add a two more 3D-printed parts to make a couple spots easier (more on those shortly):
Cheap Replacement Parts & Accessories, Buy Directly from China Suppliers:DIY 6 Buttons PCB Board Switch Wire Connector Kit For Raspberry Pi GBZ For Game Boy GB Zero DMG-001 Enjoy Free Shipping Worldwide! Limited Time Sale Easy Return. Using the included drill guide, add 2x 11mm holes to the back of the shell, drop the included button adapters into the DMG buttons, slot in the buttons into the holes, drop the bracket and screw in place using the provided screws and wire to your controller board, and voila! Super easy to add your L1 and R1 buttons to any Gameboy Zero build.
I'm trying to fit a small synthesizer into a Gameboy case and reuse the buttons and this is exactly what I needed. Easy to install. Just make sure when you buy your Gameboy shell that it is an original Nintendo Gameboy (DMG-01) and that it comes with the buttons and conductive rubber pads that go under the buttons. With this schematic we are able to figure out how it sends signal data to the NES console. Having this info will help with determining how to wire the controller, and writing code for the Arduino. I chose a Pro Micro for the board. The next image is a board scan of the back PCB with pinouts to wire the arduino to the CPU of the DMG. I also wiped the shine off of the pads to fix the button issue. However, when I put it back together, the buttons still didn't work! I've heard that it's possible to short the buttons within the CPU itself if the ribbon cable moves while the gameboy is powered on.
- A power-switch brace: market.sudomod.com/3d-printed-power-switch-brace
- A DS-Lite GBA cartridge slot mount: market.sudomod.com/3d-printed-dsl-gba-cartridge-slot-mount
Also, before starting, I would ask that you PLEASE test things out every step of the way! Don’t just rush through the guide, close the case up and wonder why it doesn’t work. If you do something wrong or something breaks, you want to find out as soon as possible, so test often!
And if you do run into problems, stop by the forums! Lots of people there (including myself) who will be happy to help you out.
Since doing part 1 of this guide, I finally got some ferrite beads to add to my speaker, so I went ahead and popped those on before starting the “real” part of the guide. These can help reduce interference on your speaker and quiet down the hissing/humming a bit.
The ones I got are toroid/donut-shaped, so all you do is slip whatever wire you want to reduce interference on through it, and you’re done. There is another kind that already has a wire through it for you to solder wires to either end, but they function the same.
You’ll want to put one on each channel right before the resistors where we joined them together, and another on the ground wire of the speaker:
And that’s it! I wouldn’t say it was a *huge* difference, but it does seem a little cleaner-sounding.
Next I mounted my display driver board. I used a piece of perf-board (I love that stuff; so versatile!) to separate it from the metal backing of the display:
Carefully insert the ribbon cable and secure it with a bit of glue (you don’t need much). The BW screen feels much more flimsy to me than the Adafruit one, so be careful not to press too hard on the screen when gluing it down.
Next I mounted my volume wheel. You need it to stick over the edge just a bit, and center it with the “volume” text on the side of the case:
You’ll need something underneath it for it to rest on since we don’t have a gigantic display driver board for it to rest on, like we did with the Adafruit screen. I measured and printed out a little cube for it to sit on, but you could use anything for this, really (perfboard, popsicle sticks, etc. ¯_(ツ)_/¯ ).
Go ahead and put the two halves of the case together to make sure everything lines up alright:
Next I connected/mounted my power strip that Helder designed. You’ll have two long wires for 5V/GND input, and 3 sets of wires coming out of it for the screen, all-in-one board, and the Pi (I already had the 3rd set connected to the AIO board here):
Secure it with some glue in roughly the same spot that I put the hand-made version last time:
Next I put my L/R buttons in. I’ll sort of skip over this since I did literally the exact same thing as I did in part 4 of the original guide: http://sudomod.com/game-boy-zero-guide-part-4/
Next I took care of my power-related items. Only a few differences this time around from the last build: I’m using a JST extension cable to connect the battery from the battery compartment, I’m using an aftermarket switch, and I’m using a 3d-printed part to secure the switch:
The pins on the switch are similar to the DMG one: two rows of 3 pins, and each column is connected. When the switch is to the right, the middle column and the right column are connected. When the switch is to the left, the middle column and the left column are connected.
The actual plastic switch part is much bigger than the original, so we need to trim it down by 2-3mm, and trim the sides down so that it can fit in the slot on the actual plastic external switch part of the Game Boy:
The metal case of the switch is identical to the original DMG switch, but I wasn’t happy with how I mounted it last time. I just used a ton of glue to secure it and it was really messy/ugly. This time I designed/printed out this sort of brace for it:
It has a couple of raised parts that the switch fits perfectly between, so you hardly need any glue to hold it in nicely. You just glue it in the corner of the case (with the wider raised part to the right):
And then glue the switch in the brace. If you’re using an aftermarket switch like this, you’ll probably want to trim down the pins a bit and bend in the metal tabs.
Much, much cleaner than the first time around (cringe):
I have a this 3D-printed part on the sudomod market for purchase, or if you have a way to print your own, the .stl file is posted in the forum thread linked to in the market listing: market.sudomod.com/3d-printed-power-switch-brace
I used the same micro USB breakout board from SparkFun, and ground down the corners of it just like last time:
I wired that, the power switch, and a couple wires to power the external USB port up to the PowerBoost, and glued that down:
A word of warning: I actually mounted it all the way at the top at first, but found that the two halves of the case wouldn’t fit together because the JST connector was bumping up against some things on the display driver board. So make sure you test that your case fits together periodically!
For detailed instructions for wiring up the PowerBoost, as well as a thorough explanation of why we hook everything up that way, check out part 6 of the original guide: http://sudomod.com/game-boy-zero-guide-part-6/
Now switching back to the front of the case, it’s as good a time as any to mount the Pi itself. It’s easier if you have the PWM audio wires, as well as the composite video wire connected before mounting it since they use pinholes that go through the board (sorry for the blurry picture):
You can connect everything that uses the test pads after it’s mounted pretty easily.
Again, since we don’t have a gigantic display driver board to rest/mount things on this time, you need to raise up the Pi somehow. I (again) printed out a few little blocks of the appropriate size, but you can use whatever you want:
As you’re mounting it be sure to leave your SD card slot accessible. We’ll be using an external reader, yes; but just in case, it’s good to have access to it. Also make sure that you cover anything metal on the display driver board that the Pi might come in contact with, using something like electrical tape.
After you have that mounted securely (hopefully with the HDMI port lining up with the contrast wheel cut-out), you can connect the USB data wires from the AIO board (green goes to PP22, white goes to PP23), and the power wires from the power strip (5V goes to PP1, GND goes to PP6). You can also connect the composite video wire to the display driver board (the yellow wire).
You’ll notice that I have the green/white USB data wires twisted around each other. Some folks on the forums were having trouble with certain USB devices that were connected through the all-in-one board’s on-board hub. A few people had good luck with increased reliability by twisting the two wires together as shown above.
Next I wired up my internal USB port (which I’ll use for an always-connected Bluetooth adaptor). From the orientation shown below on the port, the wires go red, white, green, black. Also make sure to wrap the metal part of the port in electrical tape so it doesn’t short out anything:
Alternatively, you could also take apart whatever device you are connecting to that USB port on the all-in-one, and wire it up directly to the port on the board, skipping the physical USB port altogether. I wanted to have the option to change it out in the future, so I used an actual port.
Now for the cartridge slot/reader. I used the GBA cartridge slot from a DS-Lite, because you can purchase it cheaply all by itself (plus it’s much thinner and the pins are a lot easier to connect wires to). You do need to modify a couple bits of it though. You need to cut off the two ends, as shown below:
And then you’ll also need to cut off the two little raised parts inside (these were put there to keep you from putting original GB games in a DS Lite, so we need to remove them):
After you’re done it should look about like this:
As for wiring it up, we are using prerunnerseth’s cartridge board so if you’re holding it as shown below, the order of the test pads on the back of the Pi is 15, 19, 18, 14, 16, 17, 8, 5, skipping a pin between every one:
Here is a wiring diagram that people have been using on the forums: http://i.imgur.com/4QrsX3O.jpg
Don’t actually connect it to the Pi just yet though, just connect different-colored wires to the pins on the actual cartridge slot. Also one thing to note is that if you have a version 1.3 Pi Zero, test pad 8 has moved a bit from the picture above (but it is still labeled PP8).
Since this GBA cartridge slot is so much thinner/smaller than the original, there isn’t a clean way to secure it in the back of the case. Sounds like another job for 3d-printing!
The above part has 2 pieces: one that goes below the cartridge slot, and one that goes on top of it. The grooves on the top of the bottom part fit nicely with the notches on the cartridge slot:
This raises it up just enough, centers it, and just makes it much easier to glue down (with much less glue).
When you are positioning it to glue it down, it’s much easier to do so with a game inserted:
It’s quite a bit easier to see the placement in a lighter-color case:
Run some glue underneath (this is why we soldered the wires beforehand), and run a bead of glue on the top part as well (watch the video if this part isn’t making sense – I’m not sure if I’m explaining it very well). Just be careful not to accidentally glue your cartridge in!
As with the other 3D-Printed parts, I have the .stl file posted in the thread linked to in the market link (or you can purchase one directly from me if you don’t have a way to print your own): market.sudomod.com/3d-printed-dsl-gba-cartridge-slot-mount
The cartridge itself is easy thanks to prerunnerseth’s board. Just pop it in! I decided to refrain from cutting a notch out of the side of my cartridge, as I hardly ever take the SD card anyway.
Applying the (awesome) sticker from Dominator (which was easy) was the hardest part of the cartridge!
Now go ahead and wire up the cartridge reader to the SD card test pads (and again, if you’re using prerunnerseth’s cartridge board the pins are listed further up), as well as the L/R buttons on the AIO board, and the input wires from the power strip to the PowerBoost (refer to part 6 of the original guide if you need details for all that: http://sudomod.com/game-boy-zero-guide-part-6/ ):
Finally, twist together the USB data wires for the external USB port, wire that up and mount it (which is covered in detail in part 4 of the original guide: http://sudomod.com/game-boy-zero-guide-part-4/ ):
If you’re using a JST extension cable to connect your battery, now’s the time to connect that, because we’re about to close up the case! You probably want to cut that down to only be a few inches long. Heat-shrink tubing is awesome.
If your display board has a separate button board, go ahead and connect that now too, and close ‘er up! You’ll likely have to fiddle with some wires to get it to close properly, but it was much, *much* easier for me to close up than with the original build.
Now to top it all off with the acrylic screen cover from Dominator. This was the first one of these that I have installed, so I went with double-sided tape as it’s what people on the forums seem to be recommending. I couldn’t find any super-narrow tape (I’ve heard you can find some at hobby stores), so I took some regular double-sided tape, pressed it onto some wax paper, and cut a 2mm-or-so strip of it:
Then carefully place a strip on each side of the screen cover:
And press it in place! Make sure you get any fingerprints off of the plastic, and any dust off the screen before doing so. Canned air works great.
I was very happy with how the double-sided tape worked — seems to hold it securely and was very easy to install.
If you are looking for something a bit more durable, a forum member by the name of day is working on pre-orders for a Gorilla Class screen cover: http://sudomod.com/forum/viewtopic.php?f=3&t=1444
Now insert your battery, and marvel at the beauty that is a finished Game Boy Zero:
That (sick) custom boot animation comes from forum member AJRedfern (thanks AJ!). I’ll be showing how to set that up, as well as other common settings/questions people want in RetroPie in an upcoming video/guide, so stay tuned for that!
If you decide to build your own Game Boy Zero, be sure to stop by the forums! Lots of people on there to help you out every step of the way.
Until next time!
It took me a little while to start gathering parts for this guide, but I got my DMG-01 in the mail this week, so we can finally get this started!
Oct 31, 2016 AI Hunters only start to appear after you place your Base Command Unit. AI Hunters base can be broken (with Hatchet/Pickaxe or with bullets) and they have a storage crate which you can loot. AI Hunters equipments and BCU can't be broken. You are not able to. Oct 31, 2016 Subsistence is a sandbox, first person, open-world survival game (currently only singleplayer, with multiplayer in development). Struggle to build a base and gear-up in the hostile environment. Defend yourself from wildlife and AI hunters (who also build bases in the world). Subsistence is a sandbox, first person, solo or co-op, PvE open-world survival game. Struggle to build a base and gear-up in the hostile environment. Defend yourself from wildlife and AI hunters (who also build bases in the world). Subsistence axe dmg to base. Dec 13, 2016 I just moved to the SE corner along the bluffs overlooking the praire. I can walk out scan the entire praire for crates. And the plants are really easy to see there. I also built a shelter base on the NE edge where the big 6-wood tree is, one room with storage and stove.
This first part isn’t too technical, so there won’t be much of a writeup to accompany it. Here are the tools I used (having a nice variety of Dremel bits helps a lot):
The process of drilling/dremeling/grinding everything is pretty time-consuming and tricky to do without messing up your case, so take your time!
And just to reiterate, if at all possible please get a BROKEN original Game Boy to use for this! You’ll be essentially gutting it anyway, so if you use one that has a fried CPU, bad screen, etc. it will probably be cheaper and won’t ruin a perfectly good DMG-01. 🙂
This is about what you should have when you are done:
Don’t worry if the cuts on the battery compartment are a little rough. Our battery door still works and will cover all that up anyway. 🙂
I hope this was helpful! I set up forums today on the site, so if you have any questions or want to show off your work on this or any other project, stop by!
In the next guide I’ll show you how to cut out the parts you need on the controller board, how to add the X/Y buttons to it, how to tap into and wire it up to a Teensy, and how to program that. At the end of that guide you’ll actually be able to plug in your Teensy to your computer and use the front half of the GBZ as a controller to test it!
Wire Out The Buttons Of A Gameboy Dmg Free
Be sure to enter to win the one I’ll be making in these guides!
Wire Out The Buttons Of A Gameboy Dmg 2
[rf_contest contest=’2000′]