Saturday, December 1, 2018

Designing the pushbutton keys for the DSKY keyboard substitute for Apollo Guidance Computer


Main PCB for displays

The main printed circuit board for the DSKY is submitted to the fabrication service, who are sponsoring our projects by providing free PCBs. In this case it is a good thing, because the tight spacing in the aluminum DSKY case required a 10 layer PCB, 6 1/2" by 4 1/2", to accommodate all the circuits needed and provide the displays in the correct layout.

DSKY case given to me by Jimmie, into which I will install the DSKY substitute, before cleanup
Such a board would cost over $600 in a minimum run of 5. Even hunting around for cheaper alternatives that allowed single board orders would still cost a couple of hundred dollars. Fortunately, I won't have to pay that out of my pocket. PCBWAY is sponsoring Marc's CuriousMarc YouTube channel including the AGC restoration videos.

Keyboard section design

I turned my attention to the design of the keyboard portion, which houses the 19 pushbuttons at the bottom of the DSKY. These buttons are about 7/8" square, internally lighted through the key legend, and must provide a distinctive feel when operated. They move down about 3/16" before activating and bottom out at 1/4", requiring about 24 ounces of force.

My keyboard section has to generate a signal when any button is pressed, a five bit keycode designating which of the keys is pressed, and discrete signals for the RESET and the PRO keys. PRO does not produce a keycode, just the PRO signal, while the other 18 keys generate a keycode and RESET produces both.

I intend to use a small microcontroller (Arduino Nano) on the board to read the pushbuttons and generate the 8 signals (keycode and three discretes), since my main board expects these. I could use a diode matrix and logic chips, a bit more work to design and requiring more space and complexity for the PCB.

I have selected an E-Switch pushbutton that gets me partway to the required behavior. This switch requires about 600 grams of force to travel 2 mm. I need to travel 6.35 mm and have about 675 grams of resistance. The solution is to install an outer button with a compression spring, which adds 4.35 mm of movement and adds 75 grams of resistance in that movement. The net travel and force will fit the specification.

I am using Fusion 360 to do the mechanical design of the keyboard - built into a large honeycomb 3D printed plastic part will sit inside the aluminum DSKY panel and attach to a printed circuit card at the bottom. The pushbutton is installed on the PCB and surrounded by a few small LEDs to create the backlighting.
Beginning to model the case
An inner plastic piece will slide up and down in the honeycomb, compressing the spring and depressing the pushbutton. This part will be translucent to allow the light to reach the keycap affixed to the top of that inner piece. Tabs on two sides ride up and down in channels in the sides of the honeycomb, keeping the inner piece captive in the assembly rather than popping out of the top of the DSKY panel.
Transparent inner piece that fits over pushbutton with spring inside
The keycap is opaque except for the legend which is laser cut out of the plate. I only need to affix these plates to the inner piece I built and the keyboard will be complete. A fellow space enthusiast has offered to send me a complete set of the laser cut plates.

It will cost roughly $100 to manufacture the translucent keycaps, somewhat less for the honeycomb since that can use inexpensive plastic, and then there are the parts costs of about $75 for the components to sit on the PCB. Overall this DSKY will probably cost me $600 to $700 even with the free PCBs. Hobbies get expensive.

It has been quite a few years since I used Autocad, the basis of Fusion 360. The (re)-learning curve is still steep, but I am battling through the production of all the mechanical components that will be assembled in the DSKY. So far, I have the base of the aluminum DSKY housing, the inner piece the will slide up and down, and have begun on the faceplate Friday afternoon.


  1. Looks amazing. Could you share the Fusion360 3D model you created after the project is completed? I had wanted to create a 3D printed replica myself for some time now however accurate dimensions seem to be unobtainable.

  2. I will gladly share my files and designs. Be aware that I was given an aluminum DSKY enclosure built by somebody years ago, that is certain to not be an exact match to the real thing. Therefore my files may need a bit of tweaking to fully conform to the MIT design.

    That said, the drawings and exact dimensions are being retrieved right now from the NASA archives and should be available for others to download soon. You can use those documents to build a DSKY that is an exact copy, down to paint, metals, fonts and every detail.