Update 03.01.2021: The first version of the DHD was made with the use of an old keyboard. However, I later made a new version that did not rely on the keyboard DHD but instead can send the keystrokes directly from the PCB itself. I have made a separate page detailing the second version as it’s a bit more complicated.
Below is a brief description of how i made the first DHD version for my Stargate Project using an old keyboard and a custom made PCB.
The technical side of making the DHD seemed quite challenging at first. But when i realized that the DHD is nothing more than an round keyboard with 39 buttons where every button has an individual light, I figured i could just modify an old keyboard for the task. There is no easy way to connect 39 individual buttons to a raspberry pi as far as I know. But a keyboard already have more than enough buttons, all connected to the pi using the USB port. This way i need only one USB cable for the buttons and 4 wires for the lights. I started by taking apart an old dell keyboard i had lying around.
When making the DHD we only need the important part inside the old keyboard so I opened it and took out the brains of the keyboard or the PCB (Printed Circuit Board) if you will. I soldered on new wires to the PCB and started to systematically connect the wires two by two while it was connected to a laptop with notepad running.
Whenever a letter or symbol appeared in notepad when i connected the two wires I made a note of it in on paper. When the grid was complete i noticed i had the possibility to make enough buttons/symbols with using eight of the red wires and 8 of the black ones.
In order to see if this worked as expected, I assembled some buttons on a breadboard and fired up notepad. The buttons worked and the letters appeared as I used them.
The PCB (first version)
There was no way i would be able to fit 39 buttons, lights and the required wires inside a DHD that was scaled appropriately in relations to the Stargate model and therefore decided to try and make a PCB of my own. I had never done this before and set out on a quest for knowledge. After doing some reading and testing I managed to design the PCB shown in the image to the right using easyeda.com.
In order to assemble the DHD model with the PCB inside, I had to split my DHD model in layers. In the pictures you can see the PCB placed in it’s slot inside the DHD. The tactile buttons are attached but i have not yet attached the dotstar LEDs. With the top part of the DHD attached it’s ready to receive the printed buttons.
Here is a picture where the dotstar LEDs are soldered to the PCB. This was not an easy task. The LED itself is 5x5mm in size and contains 6 points that needs to be soldered to the PCB. I first tried the traditional way with a regular solder iron but quickly learned that i lacked the experience and the right tools to properly solder them using this method. Instead i bought some solder paste and used a “do it yourself” reflow method. I applied the solder paste to the solder points on the PCB, put the LEDs on top and heated the whole thing in my kitchen stove. It worked out quite nicely.
The DHD buttons
In the TV Show the DHD buttons light up when pressed. This means using “transparent” plastic for the main part of the button. And a “cover” on top that does not let the light through. When held up against the window, it looks like this. Hopefully it will look okay using the LED’s from the PCB also. The PCB from the keyboard is mounted on the underside, and the wires from the keyboard PCB to my own designed PCB simply runs through the pedestal/base/feet thingy of the DHD.
Below are a few pictures of the fully assembled DHD and a video of the dialing process.
The Stargate won’t do much without a valid address to dial, so i made this tablet with a few Stargate addresses. I based the design on a goa’uld tablet from the TV show.
Hopefully you liked how I made the DHD using an old keyboard and a custom PCB. If you haven’t checked it out already, I encourage you to also take a look at how i made the Stargate itself.
If you have any comments or questions, feel free to use the comments section here. Or, you can send me an email at firstname.lastname@example.org