Introduction: GP2X - Custom 3D Printed D-pad

This is a guide for building and installing a 3D printed D-pad, specifically to fit a modified GP2X F100.

ATTENTION! Before using this guide, you should watch the excellent modification guide by BacPac. He can guide you through opening the casing, removing the joystick and wiring for the switches.

You shall require:

  • 8 mm rubber topped tact switches (x4) - ( I used: PKG10,Tactile Push Momentary SPST Off-(On) Switch,TMS)
  • 3D printer - (high res FDM should work, a DP-SLA would be better though. For my build I used an Objet 30 Pro with VeroBlue material)
  • Standard Stripboard (Single sided FR-2 about 1.6 mm thick)
  • Hot glue or other strong bonding agent
  • Narrow Wiring (5 colours if possible)
  • Wire clippers
  • Electrical insulation tape
  • Soldering iron + solder
  • Desoldering tools (pump, flux etc)
  • Dremel (upright preferably + 21 mm drill bit)
  • Masking tape
  • Multimeter - (not essential, but certainly handy)

Once you've got the old joystick cut out we're good to go!

Step 1: Build Switch Board and Connect to the GP2X

  1. Cut out a piece of prototype board 19 x 19 mm in size
  2. Arrange the switches into the corners of the board and follow the wiring (Figure 2.) as seen in the figure above.
  3. Solder the switches to the board. Be sure to alter the board by either cutting the tracks or drilling them out otherwise it won't work! Once finished, stick some electrical tape on the bottom of the board to ensure you don't accidentally cause a short.
  4. Cut the wires to be long enough to reach from the d-pad position on the front of the board to the back of the board where the soldering is going to be happening. Use the colour coding in Figure 3 and use maker pen to indicate which connections are which.
  5. Solder the wires into the switch board first and then use some blue-tac to attach the switch board to the GP2X board, in the d-pad position.
  6. Carefully arrange the wires so that they just reach the back of the board to the connections. Again, look to Figure 3, use the gap in the board and left trigger area to tidy the wires.
  7. Once you're happy, solder the wires to the GP2X motherboard. See Figure 3 for the correct connections. You can always de-solder if you make a mistake. See Figure 4 and 5 for the finished result.
  8. At this point, it's a good idea to boot up the GP2X and make sure that it still boots. Use the buttons to navigate the menu system and make sure that it all works! If there are any issues with directions not working, double check the wiring and use a multimeter to test the connections.

Step 2: Widening the Joystick Space

  1. Next we need to use the 21 mm drill bit to carefully increase the joystick space in the casing. Figure 6.
  2. I recommend taping it down to a hard surface which you can sacrifice (wood or plastic cut-off) to make sure it doesn't move during the drilling. Use some tape that won't leave marks, masking tape worked well for me.
  3. Use the original GP2X joystick hole as a guide for the drill. Start with a slow speed and get the orientation correct, take your time. You'll only get one shot unless you have spare cases lying around...

Step 3: Print Out Your D-pad

  1. Using the machine you have access to, print out the D-pad (Figure 7) (see .zip for the .stl). This design allows for the d-pad to sit securely on the micro switches and not slip out. I studied a number of D-pad designs including the PSP, Megadrive, DS, PS4 and 360. In the end I settled for a hybrid between the PSP and Megadrive due to my preference for playing Megadrive games on the system. The thumb area has separated arrows like the PSP but has a more subtle drop into the middle; here a hollow gives a neutral point like the Megadrive.
  2. I've attached my SolidWorks files so if you'd prefer a different style, by all means go ahead and modify it. For completeness, the assembly for the switch board, D-pad and casing alignment is included.
  3. Print at the finest setting your printer can achieve, preferable with a <100 μm layer thickness to give the pad a smooth finish. I used 25 μm layers with the Objet 30 Pro (Figure 8), there are several DP-SLA machines out there such as the Titan 1 and B9 Creator that can achieve these kind of resolutions in the Z-axis. However, I'm not sure I'd like to have my thumb on the material from these kind of printers for long periods of time. Recent studies including my published work on 3D printer resin biocompatibility indicate acute toxicity to zebrafish embryos. I recommend using a medically approved resin or play it really safe and use an ABS material of your choice.

Step 4: Align Printed D-pad and Glue Switch Board

  1. Time to put it all together! Remove the blu-tac and get your epoxy solution ready.
  2. Place some glue on the joystick area of the board (where the switches were just attached) and stick the switch board down.
  3. Place the 3D printed d-pad onto the switches (figure 9) and fit the now widened top casing of the GP2X into the right position. Make sure they fit together properly and the D-pad doesn't slip out. Leave the glue to cure according to the manufacturers instructions.
  4. Reassemble your GP2X. The D-pad should stay in position. (figure 10)
  5. That's it! You now have a custom d-pad specifically designed for the GP2X! Have fun! :D