Recreate the Apollo Guidance Computer
While the latest issue of Raspberry Pi Official Magazine is a weather-monitoring projects special, we couldn’t resist sharing this build, as we are powerless in the face of anything space-themed. The maker, Michael Newton, is a commercial aircraft avionics engineer based in Calgary, Alberta. When he’s not on the flight line, he’s learning about and recreating historical aircraft and spacecraft hardware using modern technology and techniques.
In 1966, three years before Neil Armstrong became the first human to set foot on the Moon, the Charles Stark Draper Laboratory at the Massachusetts Institute of Technology introduced the Apollo Guidance Computer (AGC). Installed on board each Apollo Command Module and Lunar Module, its power was on a par with the Apple II computer with less than 100kB of memory and a clock speed of 1.024MHz. Yet, as Michael Newton points out, it allowed astronauts to execute navigation routines, autopilot manoeuvres, burns, orbital rendezvous, and Earth entry from their spacecraft. It was also the first computer to be based on silicon integrated circuits.

Michael is an engineer who is passionate about building historical spacecraft hardware using modern technology and techniques and he’s been leading an open source project called Recreate Apollo. It uses a Raspberry Pi computer running the Virtual AGC emulator to power a 1:1 scale 3D-printed DSKY – the Display and Keyboard used by Apollo astronauts. Specifically running the Apollo 13 Command Module software, it grants anyone the chance to get hands-on with a piece of computing and space history.
“My interest in the project began many years ago when, during the COVID-19 pandemic, a group of Apollo enthusiasts began translating the original MIT Instrumentation Lab engineering documents into modern-day CAD files with the eventual goal of 3D printing,” Michael says. The documents had been made available following a public records request and they were archived by the Virtual AGC group.

“I lost touch with most of their progress as life carried on, but about a year ago I came across another maker named Eric who runs a blog called mkme.org and I saw that he had created a DSKY based off of the now nearly-completed drawings uploaded on GitHub. Unsure where he sourced his files, I went on the hunt for them myself. I found many in different GitHub repos or other open-source projects, but other parts needed some work to refine and some others still I had to model on my own. After a few weeks of work, I had a full set of .stp files ready to print that I was satisfied with. I purchased a 3D printer and began learning that world.”
Lift off
Michael began learning as he went along, identifying three main tasks. First, he would print, finish, and paint the case. Then he would organise and wire the hardware. He also needed to write the code and software. “I tackled each part of the project over a few months, in that order, taking my time and learning as I went along,” he says. “But one of my biggest goals for this project was documentation. I wanted anyone who is interested to be able to build one of these, even those with no prior knowledge. My guide, available on GitHub, is the fruit of those labours.”
Driven by his love for the Apollo mission and the AGC, he wanted to be as faithful to the original as possible. “Physically, the DSKY is about 90% authentic,” he says. “From the outside, I strived for a perfect visual representation and I’m satisfied where it’s at.” Michael had to make adjustments internally, changing the mounting points for the microcontrollers and the Raspberry Pi computer.

“I also needed to get a bit creative with the screen mounting, since the PCB that the screen mounts on is physically larger than the part designed to hold the original,” he says. “I modelled a clip-style holder for the screen and made a few minuscule adjustments to get the fit down perfect. The keycaps were also made a bit differently than the originals, since the lettering was too small for me to print with great definition. Even though the font matches the historical one (yes, someone recreated the font!), the words are just a bit larger.”
Rocket science
A Raspberry Pi computer felt like a perfect fit. “It is nearly purpose-built for this project,” Michael says. “It integrates through microcontrollers via USB, it doesn’t need a lot of power, it has wireless LAN built in for SSH and remote applications, and it also runs cool. Raspberry Pi OS is very easy to install, too, and you can create a custom distribution to send an entire OS instance to other users, which makes that section of the build easy to copy.”
More than that, however, Raspberry Pi easily runs yaAGC, VirtualAGC’s computer program that replicates every characteristic of the real AGC. “This includes the unique asynchronous timing (interrupt) that saved Apollo 11 (1201/1202 alarm codes), the 15-bit-plus-one-parity word length, and the archaically slow 1.024MHz clock speed,” Michael says.

Source: Wikipedia
The data used by the AGC is fundamentally different from how all modern computers are engineered. The individual 1s and 0s are arranged as a 15-bit data block with a single parity bit used for error checking. Michael says the emulation proved extremely difficult to achieve. But the programmers managed to emulate the AGC with the exact same logic, using the same timing, as the original.
“Fundamentally, the exact same constraints are preserved in this emulation because the timing of the AGC is kept intact and the memory that the computer reads is virtualisation of the real code that was woven into core rope ROM and magnetised in the RAM,” Michael explains. “In fact, it emulates the real computer so well that, to me, VirtualAGC is not an emulator. It’s a real Apollo Guidance Computer that borrows your processor.”
Great minds
The result is an amazing, fully usable device, one that allows users to interact using a keypad. For this, Michael used off-the-shelf mechanical keys with the highest actuation force and most solid ‘click’ he could find. “I settled on Kailh Box Navy,” Michael says. “They feel and sound OK, and they are easy to get, but they are far from the real keypad.” He’s currently looking to create a much more premium DSKY with a full aluminium body, better annunciators, and maybe a real electroluminescent display. This, he says, would incorporate a better keypad.

As it is, however, the Recreate Apollo project has allowed Michael and others to learn much more about the AGC. He says the ingenuity of those behind the original computer is clear. “The memory alone was an ingenious design of magnetism and did you know that the Apollo Guidance Computer used only ONE type of logic gate: the 3-input NOR? All the mathematics, data movement, navigation, autopiloting, burns – everything, was just voltage levels going through 3-input-NORs, and the occasional diode arrangement. Truly incredible minds were necessary to design that kind of thing.”
Issue 171 of Raspberry Pi Official Magazine is out NOW!
This article appeared in issue 171 of Raspberry Pi Official Magazine, which you can access online. You can also subscribe to the print version of our magazine. Not only do we deliver worldwide, but those who sign up to the six- or twelve-month print subscription will receive a FREE Raspberry Pi Pico 2 W!

You can find Raspberry Pi Official Magazine on Facebook, X, Threads, LinkedIn, and Mastodon. You can also contact the team via email: magazine@raspberrypi.com
The post Recreate the Apollo Guidance Computer appeared first on Raspberry Pi.