Introduction: Open Apollo Guidance Computer DSKY

Picture of Open Apollo Guidance Computer DSKY

Proud to be a Featured Instructable since 1/10/18. Please Vote for us and give us a Like!

While this is certainly not the first re-creation of the Iconic AGC (Apollo Guidance Computer) DSKY (Display/Keyboard) used in all Apollo missions of the 1960s, and you can expect even more to appear this year and next year because of the upcoming 50th anniversary of the first moon landing, we decided a few years ago to create our own version that would meet a minimum number of pre-requisites.

This project came about from the suggestion of one of our Open Enigma backer/contributor and we would like to acknowledge Rob for his suggestion/contribution. Thank You Rob!

Pre-requisites specifications:

- Has to be built with an Arduino and offer Open Source software.

- Needs to look and feel like the real thing. A faithful replica obviously WITHOUT Core Memory…

- Needs to emulate function/behavior of the Apollo flown units.

- Needs to use components that allows someone to build it as a kit.

Step 1: RESEARCH, Original Specs Gathering.

Picture of RESEARCH, Original Specs Gathering.

While we did NOT personally have access to a physical device, we are fortunate that other people (Fran Blanche for instance - whether you support our Kickstarter or not, please consider supporting her Crowdfunding campaign who have access have documented their findings and via the Internet, allowed us to benefit from this knowledge. As Isaac Newton wrote, “We do stand on the shoulder of giants.”

Using the excellent paper kit from EduCraft ™ for exact dimensions, the free iPad app from AirSpayce Pty Ltd for minimum viability features, and the very detailed book from Frank O’Brien “The Apollo Guidance Computer – Architecture and Operation” along with numerous NASA resources including the full original code on GitHub, we were able to determine and replicate many of the exact hardware and software specifications.

The Original Electroluminescent displays used in Apollo were a very short lived technology which has long been gone. It went the way of obsolescence early in the 1970s so we very quickly decided to use LEDs in the form of 7 segments to emulate them. This also allowed us to NOT have to use the High Voltage and the 156 mechanical relays to drive the EL displays. Finding the right size was a challenge but little did we know that finding a +/- 3 Segment would be Mission Impossible! (even in this day & age…) We did find in Israel some 3 segments +/- integrated with a 7 segment unit and decided to give them a try for our earliest prototypes…

Step 2: A Little Bit of History…

It should be noted that the first thing that really resembled a modern microcontroller would probably be the Apollo AGC. This was the first real flight computer, plus, the first major use of integrated circuits. But you have to go forward another decade before all the basic functionality of a computer was brought together on a single LSI chip; such as the Intel 8080 or the Zilog Z80. And even then, memory, clock, and many of the I/O functions were external. It wasn't terribly convenient for the hobby user.

It is the ARM, AVR and similar chips that bring the next important step; with the inclusion of non-volatile flash RAM, it became possible to construct a computer with practically no external components. The AVR series of chips (with which we are most familiar) have buffered I/O lines, serial UARTs, A/D converters and PWM generators, watchdog timers, and even internal oscillators if wanted. In the format of the Arduino and similar boards, these chips are surrounded with a proper clock crystal or resonator, a regulated power supply, some power supply and other critical-pin de-coupling capacitors, and a few blinking lights for status monitoring.

It is ironic that 50 years later, the platform of choice for a DIY project offers basically the same functionality (Ram/Rom/Processing) at a minuscule fraction of the cost (and weight!).



We decided that we first needed to make a proof of concept on breadboard of 3 Maxim chips controlling 15 7 segments LEDs to make sure they would behave as expected. We knew we did not want to solder from scratch a project board with every single 7 segment, LED, and buttons as this would be tedious and would slow us down from designing the PCB which we felt was required to produce a reliable, faithful replica.

We also tested the MP3 player on breadboard AND… we created a prototype of a 3D printed 3 Segment to produce the elusive desired +/- LED unit.

Step 4: Schematic

Picture of Schematic

Schematic design currently in progress to help everyone who wants to build a DSKY without our PCB or Kit.

The first schematic (NeoPixels) shows how we connected the 18 Neopixels to the Arduino Nano Pin 6.

We used Surface mount 5050 NeoPixels which required a ballast resistor of 470 Ohms before the first pixel and we used a 10 uF Capacitor for every other pixel.

If you use the NeoPixel on Adafruit (Breadboard friendly) Breakout board as pictured above, then you don't need any resistor or capacitors as these are builtin on the Adafruit breakout PCB.

Other schematics will be appearing in the next few days as time permits.

Step 5: 3D Printing

Below are the Top Plate stl and the Bezel stl files.

Please note that while the Bezel can be printed on pretty much any 3D printer, the real DSKY was 7" wide by almost 8" high so those are the dimensions of our top plate which requires a 3D Printer that can at least print 180mm by 200mm.

Step 6: Laser Cutting/Engraving

Picture of Laser Cutting/Engraving

Below are the ButtonCaps Laser cut/engraved file and the Lampfield frosted window Laser printed, then Laser cut/engraved, file.

We use Rowmark (Johnson Plastics) Lasermax Black/White 2ply 1/16" (LM922-402) to cut and engrave the 19 button keycaps. As with all files submitted to a laser cutter, you may need to tweek the file size until you obtain 19mm by 19mm keycaps. On our 60Watt Water cooled CO2 machine, we use 40% power and 300mm/s speed to engrave and 50% power and 20mm/s speed to cut the acrylic sheet.

The frosted window is created by printing the above image on aptly "Apollo" named transparency (why use any other brand?) with any laser printer and then feeding it to the laser cutter/engraver to "etch" horizontally, then vertically, using 20% power and 500mm/s speed which we feel creates an ideal "frosted" look.



1 PCB v1.0D

1 3D Printed parts

1 Arduino Nano



1 Buck StepDown


1 Line Leveler

1 Reed Switch

1 DFPlayer Mini

1 MicroSD Card 2Gig

1 2" 8Ohms Speaker

1 6AA Battery Holder

6 AA Batteries

1 Wire Terminal

1 On/Off Switch

4 Maxim7219

4 Sockets 24pins

1 40 Female Pins

1 10uF Capacitors

1 15 Ohms Resistor

1 100 Ohms Resistor

20 470 Ohms Resistors

22 1K Ohms Resistors

4 10K Ohms Resistors

3 100K Ohms Resistors

18 NeoPixel RGB

19 LED PushButtons

19 Laser Cut Button Caps

21 7 Segments 820501G

3 3 Segments STG

2 Frosted Windows

Most components above are easily found on eBay or Amazon and are reasonably priced.

The exceptions are of course our very own PCB (which integrates all of these components together, our laser cut Button Caps which look really good and allow the light to go through the button, the frosted windows which after trying numerous alternatives, James had a stroke of genius (more on that later) and finally, the !@#$%^ 3-Segment +/- display which we had to create from scratch. Add to this our very own 3D printed enclosure and you have all the ingredients.

If someone is ready to accept the lack of “+” sign in front of the appropriate numerical data displayed, then you can simply add 3 more 7 segments and call it a day. This was simply NOT an option for us and this is why we created our very own 3 Segment.

Step 8: 3 SEGMENT

Picture of 3 SEGMENT

You would think that in 2018, with all the Worldwide resources available to us, one can simply order a 3Segment +/- LED unit… Well, it is not the case!

So, we realized that in order to remain faithful to the original Apollo DSKY, we would have to create from scratch our very own 3Segment +/- LED.

After numerous designs, we finally had a 3D printed unit with integrated shadow box.

Then, we sourced the appropriate SMT (Surface Mounted) LEDs and tested them.

We were now ready to design the tiny PCB that would fit inside our 3D printed 3Segment shell.

Putting all this together was a bit of a challenge considering we can hardly see the tiny LEDs, but the result is Fantastic!



Then came the point to decide the minimum functionality of our Replica, along with production goals and what our wish list was.

After a little research, we found a free app on iTunes that could be useful, so we bought an iPad specifically for this purpose.

The Free iPad app from AirSpayce Pty Ltd gave us an idea of our MVP (Minimum Viable Product).

After writing the code to perform a Full Lamp test, we immediately implemented the Time set/display, IMU monitoring and GPS monitoring.

The code was frozen until we decided to add one of our crazy wish list item which was to playback the famous JFK speech from 1962 in the Rice Stadium “We choose to go to the Moon…”. Then we added a couple other iconic sound tracks.

Step 10: ASSEMBLY INSTRUCTIONS - Electronics

Picture of ASSEMBLY INSTRUCTIONS  - Electronics

First, make sure you have all the required components.

Read through the following instructions once completely
before starting the assembly.

1. Solder all 20 470 Ohms Resistors.

2. Solder all 22 1K Resistors.

3. Solder all 4 10K Resistors.

4. Solder all 3 100K Resistors.

5. Solder the 15 Ohms Resistor.

6. Solder the 100 Ohms Resistor.

7. Optional: To help with soldering the tiny Surface Mount 5050 RGB NeoPixels, I drop a bit of solder on each of the 4 pads for each of the 18 RGB LEDs.

8. Cut 2 strips of female pin connectors and solder them to Arduino Nano location on back of PCB.

9. Carefully solder all 18 Surface Mounted NeoPixels in the proper sequence, making sure to not short with nearby vias. After assembling many units, we have discovered that it is more efficient to solder 1 Neopixel, power the Arduino (via its USB port) with the strandtest.ino to verify that it lights up, power off Arduino, solder the next Neopixel in the sequence, test it and repeat for all 18 Neopixels. As you troubleshoot issues, keep in mind that a problem with a Neopixel can be a result of the prior Neopixel NOT being soldered properly (Output pin). I found that 680 degrees is too hot (and kills red & or green sometimes), 518 degrees seems much better.

10. Cut a strip of 4 female pins and solder it to Buck Converter location.

11. Insert Arduino Nano and Buck Converter now if you want to test the RGB LEDs using strandtest.INO

12. Flush cut both black spacers under each of the 19 lighted pushbuttons to allow the buttons to fully rest on PCB.

13. Insert, then solder all 13 Lighted push buttons, making sure all the red dots (Cathode) are on the left side. Once all buttons are inserted, I power up the Arduino via its USB port to test that all 19 button LEDs turn on BEFORE I solder them…

14. Solder all 4 Maxim sockets, making sure to respect orientation.

15. Prepare the IMU by soldering his male pins and jumping his ADO pin to his VCC.

16. Prepare the Line Leveler by soldering his male pins on Low side and High side.

17. Cut and Solder the female pins to receive the IMU, the VA RTC and the Line Leveler.

18. Solder all 10 caps respecting polarity. The longer pin is positive.

19. Solder the Reed Relay, making sure to respect orientation.

20. Solder the wire terminal.

21. Solder all 21 7 Segments, making sure the dots (decimal point) are on the bottom right.

22. Solder all 3 S&T GeoTronics 3Segments (Custom Plus/Minus).

23. Insert all 4 Maxim 7219 Chips in their sockets, again, making sure to respect orientation.

24. Insert the IMU, RTC, Buck, Arduino Nano and Line Leveler.

25. Solder the Speaker and MP3 Player/SD card making sure to respect orientation AND keeping as high up on the PCB because the GPS on the other side will need to be flush with PCB to fit properly.

26. Solder the GPS after applying a layer of electric tape underneath to prevent potential shorting of pins..

27. Connect the 9Volt battery pack and test the completed electronics assembly.

CONGRATULATIONS! You are done with the electronics assembly.


Picture of ASSEMBLY INSTRUCTIONS  - Enclosure


Qty Item

1 3D Printed Bezel

1 3D Printed Top Plate

1 3D Printed Mid Section

1 3D Printed Bottom

1 3D Printed Battery Door

1 Printed Frosted Window

1 Acrylic Window

19 Laser Cut Button Caps

15 Socket Head Wood Screws (M3-6mm)

6 Tiny wood screws

Once electronics assembly is fully tested, please proceed with the following steps:

1. Position all 19 Button caps at their proper location following picture above.

2. Carefully insert assembled PCB in Top Plate. It may be a tight fit and may require a little sanding of the 3D printed component.

3. Using 6 Tiny copper screws, screw the PCB to the Top plate. Do NOT Overtighten.

4. Using 2 of the Socket Head screws, mount the Speaker and then the On/Off switch to the 3D Printed Mid Section by pushing it in.

5. Using 8 of the Socket Head screws, screw the assembled Top Plate to the Mid Section, making sure that the On/Off switch and speaker hole is in front.

6. Solder a jumper wire to each side of the speaker, jumping them to each Audio Out hole next to SD Card.

7. Using double sided tape, mount the battery box inside the battery compartment, making sure that both red and black wires are inserted in the hole.

8. Screw the Black wire from battery box in the Gnd position of Blue Screw Terminal and Solder the Red wire from battery box to either pins on On/off Rocker switch.

9. Screw a Jumper wire to 9V side of Blue Screw Terminal and solder the other end to the available pin on On/Off Rocker switch.

10. Close Back cover and Using 8 of the Socket Head screws, screw the assembled Back Cover to the Mid Section. Do NOT Overtighten.

CONGRATULATIONS! You are done with the enclosure assembly and you now have a complete DSKY!


Because we make extensive use of Neopixels, you will require to visit the Adafruit Web Site and download their wonderful library. This library comes with some fine examples like "standtest.ino" that Limor and her team also wrote.

Also, because we use Shift Registers to drive the 7 Segments, the Maxim library is needed for the Max7219 chip.

Get it here: LedControl Library

Attached is our current code as of 1/9/2018. This is a prototype with limited functionality. Please check with as we continue to develop and streamline the feature set.

Enjoy the video clip for a short demo of some of the functionality currently implemented.


Following our successful formula used for our Open Enigma project, we are offering on Kickstarter various kits, assembled/tested units and an Ultimate 50th Anniversary Limited Edition (Make 100) Replica.

We are offering:

- The PCB alone

- The Barebones Kit

- The DIY Electronics Kit

- The Complete Kit (with 3D Printed and Laser Cut components)

- The Assembled/Tested Unit

- The Limited 50th Anniversary Edition with Serial Number and Certificate of Authenticity

Please visit to order your PCB or Kit.


gizmologist made it! (author)2018-01-11

I used the Edu-Kit model and installed displays and lighting. The 3 lines of the display read time, date, and temperature. Pressing one of the buttons plays the Apollo 11 lunar landing broadcast.

We are very impressed by both your patience/precision on assembling the paper kit and your skills in adapting it for lighting and button action. We bought the paper kit (and tools) with intention to assemble but I quickly (first night) realized I did not have the patience and time to accomplish the task.

It took me several months, and I couldn't have done it without access to a laser cutter. I finished it on July 20, 2015, the 46th anniversary of the Apollo 11 landing.

starphire (author)2018-01-13

It is wonderful to see the attention to detail in many aspects of this project. But why dismiss electroluminescent displays as a short lived obsolete technology when EL products and materials are actually more available than ever? There are shops that can screenprint custom segmented EL arrays, and highly dedicated enthusiasts like Fran Blanche who are working hard to do exactly this for the DSKY EL display. Substituting modern LED displays not only fails to match the distinctive color spectrum of EL green, but also misses the area & shape of the original display segments, the horizontal bars and more. For the cost of a handful of your kits you could help fund an authentic reproduction display for enthusiasts everywhere.

ST-Geotronics (author)starphire2018-01-14

starphire, thank you for bringing up the excellent effort from Fran Blanche. We have been following her progress closely, support her and truly believe that when she is done, she will have a DSKY that could fool Astronauts into thinking it was a real one. #no shortcuts. However, we first and foremost did not want to subject our kit makers to the high voltages required by authentic EL displays, did not have the ability or time to raise the capital required (~ $10,000) and also were not interested in figuring out how to fit 156 mechanical relays required to turn each segment on.

ST-Geotronics (author)2018-01-11

Oscarbravo35, evbeurdn, Insonicbloom, vitalisam, camohat

You are all correct on both points. It is an expansive kit and we also feel an Instructable is NOT an Instructable unless the software code (INO in this case) and STL (if 3D Printed files involved) and schematic (if electronic circuits involved) and PCB layout are provided. We are really sorry about the 24 hour delay in providing these files, while we made sure the source code what available from day 0, we have just started added the other files to the instructable tonight. Step 4 (Schematic) will continue to grow in the next few days) but the neopixels wiring is posted, Step 5 (3D Printing) contains the Top plate and Bezel. Step 6 (Laser Cutting/Engraving) contains the Button Caps and Lampfield. Sorry about the delay.

evbeurdn (author)ST-Geotronics2018-01-12

Thanks for the additions, highly appreciated. I am a lifelong fan of Apollo and cannot wait for Orion to start manned flight. Very eager to build a DSKY. I am heating up my printer to start immediately.

ST-Geotronics (author)2018-01-11

Thank you for all your feedback. Good or bad, feedback is a gift.

The schematic is currently being drawn and the STLs will be posted shortly.

evbeurdn (author)2018-01-11

NIce job, but not a real Instructable, more a sales brochure for your kit.

Sharing PCB layout, schematics and STL makes it an instructable.


camohat (author)evbeurdn2018-01-11

I agree. The Instructables staff should review this.

r570sv (author)2018-01-11


vitalisam (author)2018-01-11

Amazing job! But I tend to agree with other comments - this is not an Instructable but rather an advertisement of pretty expensive device.

Insonicbloom (author)2018-01-11

$500 for a kit?! are you mental? with that kind of pricing, all that will happen is China will rip it off and sell it for $100.
talking of which, where are the schematics; this is a maker site, not a "advertise your products here" site

n8zuu (author)2018-01-11

Nice project .. but no core memory? What fun is that ? (LOL)

Oscarbravo35 (author)2018-01-10

An awesome job, congratulations!

You are going to release the STLs of the enclosure


About This Instructable




Bio: We love to tinker. There is nothing that we can't do if it involves Arduino. Challenge us: Do you have an idea for something ... More »
More by ST-Geotronics:Open Apollo Guidance Computer DSKYThe Twins Electronic GameGPS Data Logger
Add instructable to: