-
Notifications
You must be signed in to change notification settings - Fork 5
DMH 01 Build Guide
Please Note - These instructions are in-progress. While the complete list of steps is summarized below, there are some details missing. I'll be filling in those details over the next couple of days following the launch of the overview video.
//Ken
For this step, you'll need:
- Super Famicom Controller
- Controller Cutting Template
- Scratch Pen
- Open the Super Famicom controller and remove the PCB.
- Desolder the connector and shift register(s)
- Cut the PCB using the provided 3D cutting template.
- Snap the PCB into 4 pieces; keep the left, right, and bottom-center pieces.
- Scrape the solder mask off traces for buttons and ground connections using a scratch pen in the following locations:
-
ABXY PCB:

-
Start/Select PCB:

-
D-Pad PCB:

-
- Install the Arduino IDE and set the board to "Arduino Leonardo."
- Download the
DMHControllerfolder from thecodefolder the GitHub repository. - Open the
.inofile and upload it to the Pro Micro.
- Attach the ABXY button PCB and the Start/Select PCB to the flat side of the right controller bracket using double-sided tape. The holes in the bracket should align with the holes in the PCB.

- Insert the Pro Micro MCU into the other side of the bracket

-
Tin the exposed traces that you scratched off earlier, and solder wires to them with the following colors:
- X Button: Blue
- Y Button: Green
- A Button: Red
- B Button: Yellow
- R Button: White
- Common (Ground): Black
-
Wrap the wires around the bracket, cut them to length, and solder them to the appropriate pins on the Pro Micro:
- Pin 16: X Button (Blue)
- Pin 8: Y Button (Green)
- Pin 15: A Button (Red)
- Pin 14: B Button (Yellow)
- Pin 10: R Button (White)
- GND Pin: Common (Black)
-
Attach the Start/Select PCB to the right controller bracket, below the ABXY PCB, using double-sided tape:
[TODO INSERT PHOTO]
- Connect the common traces by soldering a small piece of jumper wire:
[TODO INSERT PHOTO]
-
Solder wires to the traces that connect to the buttons:
- Start: Blue
- Select: Green
- Common: Black
-
Wrap the wires around the bracket, cut them to length, and solder them to the following pins on the Pro Micro:
- Pin 4: Select (Green)
- Pin 6: Start (Blue)
- GND Pin: Common (Black)
-
Insert the speaker into the front shell, below the opening for the Start/Select buttons. It should be a tight fit, but the pressure will hold the speaker into place. Make sure the speaker wires are oriented towards the screen opening in the shell.
-
Place the colored buttons from the SFC controller into the front shell, and place the rubber dome on top of them.

-
Slide the Right shoulder button into place, and insert the metal pin into the post on the shell.

-
Place down the rubber Start/Select button pad

-
Place down the right controller bracket, so that the PCBs are lined up with the rubber button pads, and afix it with screws.

-
Insert the small Right Shoulder Button rubber dome into the vertical channel on the case, and then insert the PCB so that it's sandwiched vertically between the controller bracket and the vertical channel.

In this step, use single-stand, 30 AWG wire. Make sure the wire you solder to the PCB is around 30cm long - it needs to be long enough to reach to the other side of the case with some room to spare so you can work with it.
-
Place the small 3D-printed system buttons into the 3 small holes in the front shell.
-
Press the 3 tact switches into the holes. It should be a tight fit.
-
Solder wires to the tact switches in the following configuration: [TODO INSERT DIAGRAM]
-
Direct the wires towards the screen opening, and use a little bit of hot glue to hold them in place. Be sure to cover the legs of the tact switches with hot glue as well - this will reinforce the wires at the solder joint, minimizing the liklihood that they'll break off the button legs.

-
On the d-pad PCB, tin the exposed traces that you scratched off earlier, and solder wires to them with the following colors:
- Up Button: Blue
- Down Button: Yellow
- Left Button: Green
- Right Button: White
- L Button: Red
- Common (Ground): Black
-
Insert the speaker into the d-pad side of the shell, with the speaker wires oriented towards the screen opening.
-
Drop the plastic d-pad button into the front case, and place the d-pad button dome on top of it.
-
Slide the Left shoulder button into the shell, and insert the metal pin into the post to hold it in place.
-
Place the d-pad PCB face-down onto the rubber dome, so that the buttons line up correctly. The screw posts on the front shell should guide the PCB into the correct location.

-
Use 3 screws to afix the left controller bracket to the shell, on top of the d-pad PCB. The bracket will hold the PCB in place and cover the tact switches for the system buttons.
-
Add the rubber dome for the Left shoulder button, and insert the small Left shoulder button PCB in a similar manner to the right one.
-
Route the 5 wires from the d-pad PCB across the shell, using the channel above the screen opening. Cover the channel with a piece of tape to prevent the wires from coming out.
-
Trim down the wires to an appropriate length, and solder them to the Pro Micro MCU in the following configuration:
- Pin A0: Up Button (Blue)
- Pin A1: Down Button (Yellow)
- Pin A2: Left Button (Green)
- Pin A3: Right Button (White)
- Pin 9: L Button (Red)
- GND Pin: Common (Black)
-
Attach the HDMI ribbon cable to the angled HDMI connector, and then carefully fold the ribbon cable back 180 degress, so that it touches the back of the connector's PCB.
-
Use some kapton tape around the connector and the ribbon cable to keep the cable folded back and in place.
-
Trim down the female JST XH connector, so that the black wire is ~35mm and the red wire is ~25mm in length.
-
On the LCD screen, solder the black wire of the JST XH cable to capacitor sitting between the ICs behind the micro USB ports. First, add a little bit of solder to the side of the capacitor that's closest to the micro USB ports and be careful not to bridge the capacitor when you solder on the wire.
-
Solder the red wire of the JST XH cable to casing on the micro USB port. Be careful to ensure that you don't accidently solder the wire to any of the pins on the connector - only the casing.

-
Plug the HDMI connector into the screen; it needs to attached before you drop the screen into the shell.

-
Place the screen in the shell. The mounting holes for the screen, should line up with the 4 holes in the in shell.

-
Place the screen bracket over the screen. This bracket will keep the screen in place, and also provide mounts for the FGPA dev board and the various other modules needed for the handheld to function.

-
Secure the screen bracket in place with 4 screws.
-
Using a pry bar, pry open the shell of the USB 2.0 hub, and remove the U-shaped PCB.

-
Use your soldering iron to heat up the solder joints that connect the uplink port to the PCB, and remove the connector. Set this connector aside for a moment - you'll need it again shortly.

-
Next, you'll need to remove the two outward facing USB ports on the side of the USB hub board. What follows is the simplest method for accomplishing this. First, add some fresh solder to the connector's solder joints.

-
Grip the connector with a pair of pliers, and gently pull it away from the board, while running your soldering iron across the pins' connectors. After a few seconds the connector should just slide right out.

-
Repeat the same process with the USB connector on the other side of the USB hub board. After you're done, you should only have the top 2 USB ports remaining on the board.

-
Next, you'll need to trim off the bottom left edge of the PCB, between the bottom two pins. Start by scoring it with a hobby knife, and then cut it off with your cutters.

-
Take out the uplink connector that you removed earlier, and remove it from it's small grey shell. Then, desolder the short wires that are attached to its pins.

-
Cut 4 new 30AWG stranded wires to ~100mm each, using the following colors: Red, Black, Green, and Blue. Solder these wires to the USB uplink connector in the order shown:

-
Position the wires at a 90-degree angle from the connector, and add a piece of heat shrink tubing to hold them in place. You can then set this connector aside; you'll be using it again shortly.

For this step, you'll need:
- Power Switch
- 30AWG Stranded Wire - Black
- 30AWG Stranded Wire - Green
-
Cut 2 pieces of black wire and 1 piece of green wire to ~50mm.
-
Solder the two black wires to center contact on the power switch

-
Solder the green wire to one of the other contacts (it doesn't matter which one). Please note that I'm using a black wire in the picture below, but you should use a green wire so you can distinguish the wires connected to the power switch in a later step.

For this step, you'll need:
- Stereo Amp Module
-
Secure the amp module upside down into a vise.

-
Add some fresh solder to the solder joints of the male pin header.

-
Move your iron back and forth across the solder joints, while pulling down on the pin header with pliers. After a few seconds, the header will loosen and disengage.

-
Use some desoldering wick to clean up the excess solder from the plated through-holes.

-
Repeat the same procedure to remove the two green screw terminals.

For this step, you'll need:
- Power Module
- Stereo Audio Amp Module
- USB Hub Module
- Battery JST Connector
- 30AWG Stranded Wire - White, Green, and Yellow
- 2x5 Female Header
- 2 x 4mm M2 Screws
- 2 x 8mm M2 Screws
-
Install the power module by positioning the USB-C port into the edge of the shell, and pressing the module into the cavity. Once there, place a 4mm M2 screw into the left side.

-
Slide the audio amplifier module into the cavity next to the power module. Push it all the way in so that the dial extends through the slot and protrudes through the shell's wall. You should be able to freely turn the dial without it rubbing against the shell. If it does rub, make sure the module is fully seated against the screen bracket.

-
Place another 4mm M2 screw in between the power module and the audio amplifier module.

-
Install the USB hub by placing the two external facing USB ports into the slots of the shell, and seating the USB hub flat into the bracket. The hub will be a little loose, but this is expected and will be resolved when the top bracket is installed later.

-
Combine two red wires (approximately 100mm in length) by twisting and soldering the ends together.

-
Solder combined red wires to +5V plated through-hole on the power module.

-
Cut down one of the red wires to an appropriate length, and solder it onto the VCC pad on the audio amplifer.

-
Trim female JST connector for battery, so that the black wire is 35mm long, and the red wire is 30mm long. This is needed so the battery connector can be installed in parallel with the edge of the module.

-
Solder the red wire of the battery connector to the positive (+) battery terminal (indicated with a battery icon) on power module.

-
Solder the black wire to the negative (-) terminal on the power module.

-
Place the power switch into the housing to the left of the power module. The switch should stick out through the hole in the top side of the shell.

-
Place the power switch bracket over the power switch, so that it holds the switch in place against the inside wall of the shell. Screw it down with two 8mm M2 screws.

-
Trim down one of the black wires from the power switch and solder it to the GND pad on the audio amplifier module that's closest to the VCC pad.

-
Trim and solder the green wire from the power switch to the -5V pad on the power module. Please note, the photo below shows a black wire, but please ignore this and use the green wire.

-
Strip and solder approximately 200mm of wire to the audio amplifier at the following pads:
- INR: White Wire
- GND (Closest to the dial): Green Wire
- INL: Yellow Wire

-
Trim and solder the other end of the audio wires to the 3.5mm headphone jack on the back of the screen. The green wire goes on the metal contact closest to the opening on the connector, the white wire connects to the center contact, and the yellow wire on the contact closest to the inside of the device.

-
Take out the 2x5 female header block, and bend back each row of pins at a 90-degree angle, as shown in the following photo:

-
Using a pair of pliers, crimp together the first and second pin on the header, and solder them to one another. These two pins need to be bridged when connected to the FPGA board.

-
Use your pliers to remove the three pins next to the first two, and the pin directly across from the first pin, as shown in the following photo. You should be able to just pull these pins out of the header with your pliers.

-
Place the modified 2x5 header onto the GPIO1 on the QMTech FPGA board. The two pins that are soldered together should be on pins 10 and 12 of GPIO1, as shown in the picture.

-
Position the QMTech FPGA board next to the shell as shown in the following photo. This will help you judge the appropriate length of the wire that you're going to solder to the header block.

-
Trim and solder the 2nd black wire from the power switch to the two header pins that are crimped together.

-
Trim and solder the other red wire from the power module to the header pin directly across from the crimped pins.

-
Solder the green, yellow, and blue wires from the system buttons to the remaining pins on the header block:
- Solder the Green wire next to the red wire
- Solder the Yellow wire next to the green wire
- Solder the Blue wire to the last pin on the end

-
Solder the black wire from the system buttons to the same crimped pins on the header block that the other black wire is attached to.

-
Remove connector from QMTech, and crimp back pins
-
Secure with hot glue
-
Extend speaker wires and attach to amp
- Attach wires to Micro USB connector - side w/ 3 pins - black, green, red. Other side - blue on left
- Bend 90 degrees and heat shrink
- Plug into Pro Micro
- Trim and wire to closest USB pins where board was trimmed. Red (closest to the port), followed by Blue, Green, and Black
- Solder to same pins the uplink was disconnected from
- Starting from left - red, green, blue, black
- Add heat sinks to FPGA
- Flip upside down and connect 2x5 header to GPIO 1, 5th pin from the right
- Plug screen JST into board
- Attach straight HDMI connector to ribbon and plug into dev board
- Plug in USB uplink
- Wire up USB-C connector
- Center-left - green
- Center-right - blue
- other side - G - black
- other side - V - red
- Heat shrink
- Add angled connector to NFC reader
- Screw down NFC reader to case face down, with angled connector top and inwards
- Plug USB-C cable into angled connector
- Trim other end of cable and solder to the remaining USB port pins - Black (closest to port), green, blue, and red
- Install USB hub cover and screw down
- VHB tape in battery compartment
- Place battery
- Plug in battery
- Attach NFC slot - 4 3mm screws
- Place down back cover
- Screw 4 dev board screws
- Screw 4 outer case screws
- Insert SD Card and enjoy!