Skip to content
— CH. 1 · INTRODUCTION —

Apollo Guidance Computer

~7 min read · Ch. 1 of 7
7 sections
  • The Apollo Guidance Computer sits at the center of one of the most audacious engineering feats in human history. Neil Armstrong, Buzz Aldrin, and Michael Collins flew to the Moon relying on a machine roughly the size of two cubic feet, stuffed with silicon chips and magnetic wire, running software that had to work perfectly the first time. Colleagues in the field would later call it "the fourth astronaut." How did a computer small enough to fit in a closet become the nerve center of lunar flight? And what happened when it started throwing error codes during the most critical minutes of Apollo 11's descent to the lunar surface?

  • Fairchild Semiconductor supplied the integrated circuit chips that made the AGC possible, and the decision to build around silicon ICs placed this machine at the leading edge of computing history. The AGC was the first computer based on silicon integrated circuits. To put that in perspective: its performance was comparable to the first generation of home computers that would not appear for another decade, machines like the Apple II, the TRS-80, and the Commodore PET.

    The Block II version of the AGC, the one that actually flew to the Moon on crewed missions, used around 2,800 ICs. These chips, each implementing dual three-input NOR gates, were connected via wire wrap and then embedded in cast epoxy plastic. Earlier computers of the era, like the Minuteman II guidance computer, suffered because they mixed different types of logic gates. The AGC sidestepped that problem entirely by relying on a single type of IC throughout. NOR gates are universal; any other logic gate can be built from them.

    The chips themselves were welded onto the boards rather than soldered, a detail noted by researchers studying the machine's construction. All of this was packed into roughly two cubic feet, holding 4,100 IC packages in the Block I configuration.

  • The AGC stored most of its software in a form of memory unlike anything in modern computing. Core rope memory was fashioned by weaving wires through and around magnetic cores, a process closer to textile manufacture than circuit board assembly. The Block II machine held 36,864 words of this read-only rope memory alongside 2,048 words of erasable magnetic-core memory. Both types had cycle times of 11.72 microseconds.

    Each 16-bit memory word carried 15 bits of data and one odd-parity bit. A parity checking circuit tested this bit during every memory cycle; when the count did not match, a parity alarm panel light illuminated on the spacecraft. The computer was not passive about its own reliability.

    The erasable memory mattered too. On Apollo 14, astronauts used the DSKY interface to overwrite key parts of the software stored in read-write core memory, a capability that proved essential when unexpected problems arose during the mission. Fixed memory had grown substantially over the program's life. Block I started with 12 kilowords of fixed memory and expanded to 24. Block II pushed that to 36 kilowords.

  • Astronauts communicated with the AGC through a device called the DSKY, pronounced "DISS-kee," which stood for display and keyboard. Its front face carried an array of indicator lights, numeric displays, and a calculator-style keyboard. Commands were entered as two-digit numbers: a Verb described the type of action to be performed, while a Noun specified which data the action would affect.

    Each digit glowed in green on a high-voltage electroluminescent seven-segment display, specified at a wavelength of 530 nanometers, driven by electromechanical relays. Three five-digit signed numbers could be shown in either octal or decimal, typically used to display vectors such as spacecraft attitude or the required velocity change known as delta-V. Although the AGC stored all calculations internally in metric units, the displays showed United States customary units, because those were the units the astronauts were accustomed to working with.

    The command module carried two DSKYs connected to its AGC. One sat on the main instrument panel; the second was located in the lower equipment bay near a sextant used for aligning the inertial guidance platform. The lunar module had a single DSKY for its AGC. The guidance computer also drove a set of graduated marks scribed on the commander's window, called the Landing Point Designator, which allowed an astronaut to visually identify the computer's targeted landing spot and change it if necessary.

  • Charles Stark Draper led the MIT Instrumentation Laboratory that designed the AGC, with hardware design directed by Eldon C. Hall. Early architectural contributions came from J. H. Laning Jr., Albert Hopkins, Richard Battin, Ramon Alonso, and Hugh Blair-Smith. The flight hardware was fabricated by Raytheon, whose Herb Thaler also served on the architectural team.

    Software for the command module on lunar missions was a package called COLOSSUS, led by Frederic Martin. The lunar module ran LUMINARY, led by George Cherry. Details of both programs were implemented by a team working under Margaret Hamilton, who was deeply focused on understanding how astronauts would interact with the software and anticipating the kinds of errors human beings might make. In 2016, Hamilton received the Presidential Medal of Freedom for her contributions to the flight software.

    The first command module flight ran a software package called CORONA, whose development was led by Alex Kosmala. Across the entire project, software development consumed 1,400 person-years of effort, with a peak workforce of 350 people. The assembler used to compile the code was named YUL, after an early prototype called the Christmas Computer. Richard Battin's earlier work on trajectory and guidance algorithms underpinned many of the navigational calculations that flew to the Moon.

  • Five minutes into Apollo 11's powered descent toward the lunar surface, the AGC began throwing warnings. The alarm code 1202 meant "Executive overflow, no core sets." Then came 1201: "Executive overflow, no VAC areas." Each alarm triggered a soft restart of the computer, and Mission Control had to decide in seconds whether to wave the crew on or abort the landing.

    The root cause was a flawed interface control document between the primary guidance system and the Attitude and Translation Control Assembly. The document failed to specify phase synchronization between two 800-Hz signals. The rendezvous radar, which had been left on standby in case an abort became necessary, was using a different 800-Hz source than the computer's timing reference. The two sources were frequency-locked but not phase-locked. The random phase offset made the radar appear to be rapidly shifting position even though it was completely stationary. Those phantom movements generated a rapid stream of spurious cycle steals, about 6,400 per second, adding the equivalent of 13 percent to an already heavily loaded processor.

    Buzz Aldrin had earlier entered command 1668, instructing the computer to periodically calculate and display DELTAH, the difference between radar altitude and computed altitude. That added another 10 percent. When Aldrin reported the second 1202 alarm, he noted that it appeared to come up when the 1668 command was active. Guidance controller Steve Bales and his support team, including Jack Garman, issued "GO" calls after each alarm. The AGC's priority scheduling, designed by J. Halcombe Laning, automatically shed lower-priority tasks like the 1668 display to protect its critical guidance and control functions. The problem had actually been observed once during ground testing of the lunar module for Apollo 9, but engineers concluded it was safer to fly with hardware they had already tested than to swap in untested equipment.

  • The AGC's reach extended well past the Moon missions. The design principles developed at MIT's Instrumentation Laboratory became foundational to software engineering, particularly for systems relying on asynchronous software, priority scheduling, and human-in-the-loop decision capability. When those requirements were first written down, the software and programming techniques needed to satisfy them did not yet exist.

    On the hardware side, the AGC formed the basis of an experimental fly-by-wire system installed in an F-8 Crusader aircraft, demonstrating that a computer could replace conventional mechanical flight controls. Research from that program fed directly into the development of fly-by-wire systems for the Space Shuttle. The AGC's influence also shaped the design of Skylab and early fly-by-wire fighter aircraft systems.

    In 2003, Ron Burkey launched the Virtual AGC Project, aimed at recovering the original source code and building a functional emulator. The code was transcribed and digitized from 1960s hard copies and made available through the Virtual AGC Project and the MIT Museum. In mid-2016, former NASA intern Chris Garry uploaded the code to GitHub, and the release attracted widespread attention, introducing a new generation of engineers to the machine that carried twelve people to the Moon.

Continue Browsing

Common questions

What was the Apollo Guidance Computer used for?

The Apollo Guidance Computer provided computation and electronic interfaces for guidance, navigation, and control of the Apollo spacecraft. It was installed on both the Apollo command module and the Apollo Lunar Module, and it controlled the flight during most mission phases, with astronauts flying manually only briefly during lunar landings.

Was the Apollo Guidance Computer the first computer to use silicon integrated circuits?

The AGC is recognized as the first computer based on silicon integrated circuits. Its Block II version, which flew on crewed lunar missions, used around 2,800 ICs supplied by Fairchild Semiconductor, implemented using resistor-transistor logic in a flat-pack configuration.

What caused the 1202 and 1201 alarms during Apollo 11's lunar landing?

The alarms were caused by a flawed interface control document that failed to specify phase synchronization between two 800-Hz signals used by the rendezvous radar and the computer. The random phase offset made the stationary radar appear to be rapidly shifting position, generating about 6,400 spurious cycle steals per second and overloading the processor. Guidance controller Steve Bales and team member Jack Garman issued GO calls, and the AGC's priority scheduling automatically shed lower-priority tasks to complete the landing.

Who wrote the software for the Apollo Guidance Computer?

Software development on the AGC consumed 1,400 person-years of effort at its peak employing 350 people. Key figures included Margaret Hamilton, who oversaw implementation of the lunar mission programs; Frederic Martin, who led COLOSSUS for the command module; and George Cherry, who led LUMINARY for the lunar module. The operating system design was created by J. Halcombe Laning.

What was the DSKY on the Apollo Guidance Computer?

The DSKY, pronounced DISS-kee and standing for display and keyboard, was the user interface through which astronauts communicated with the AGC. Commands were entered as two-digit Verb and Noun pairs on a calculator-style keyboard, and results appeared on green electroluminescent seven-segment displays. The command module carried two DSKYs; the lunar module had one.

What award did Margaret Hamilton receive for her work on Apollo Guidance Computer software?

Margaret Hamilton received the Presidential Medal of Freedom in 2016 for her role in creating the Apollo flight software. She led the team that implemented the details of both the COLOSSUS command module software and the LUMINARY lunar module software, and she was particularly focused on anticipating human-error scenarios in astronaut-computer interaction.

All sources

46 references cited across the entry

  1. 2webApollo Guidance, Navigation and Control Hardware OverviewMichael Interbartolo — January 2009
  2. 4webSilicon Chips Take Man to the Moontluong — July 17, 2019
  3. 6webThe Apollo guidance computer: HardwareJames E. Tomayko — NASA — 1988
  4. 7magazineFlying the GusmobileD.C. Agle — September 1998
  5. 8citationJourney to the Moon: The History of the Apollo Guidance ComputerEldon C. Hall — AIAA — 1996
  6. 9citationRamon Alonso's introductionMIT — July 27, 2001
  7. 10citationRamon Alonso's interview (Spanish)Diario La Nacion — March 7, 2010
  8. 11citationHugh Blair-Smith biographyMIT — January 2002
  9. 12citationHerb Thaler introductionMIT — September 14, 2001
  10. 14webLOGIC MODULE ASSEMBLY NO. A1-A16MIT Instrumentation Lab — July 11, 1963
  11. 16bookHistorical Studies in the Societal Impact of SpaceflightAndrew J. Butrica — NASA — 2015
  12. 17webApollo Guidance Computer and the First Silicon ChipsSmithsonian Institution — October 14, 2015
  13. 21webScene at MIT: Margaret Hamilton's Apollo codeMaia Weinstock — August 17, 2016
  14. 22webThe History of Apollo On-board Guidance, Navigation, and ControlDavid Hoag — Charles Stark Draper Laboratory — September 1976
  15. 23webThe Moon landingsUK Metric Association — October 18, 2018
  16. 25citationHugh Blair-Smith's IntroductionMIT — November 30, 2001
  17. 26press releaseNASA Honors Apollo EngineerSeptember 3, 2003
  18. 28magazineHer Code Got Humans on the Moon—And Invented Software ItselfHarry Gould Harvey IV — October 13, 2015
  19. 29webAbout Margaret HamiltonNASA Office of Logic Design — February 3, 2010
  20. 31web13 minutes to the moon: Episode 5 The fourth astronautKevin Fong — BBC World Service — 2019
  21. 32bookThe Apollo Guidance Computer: Architecture and OperationFrank O'Brien — Springer Science & Business Media — June 25, 2010
  22. 33citationNASA SP-350, Apollo Expeditions to the MoonMichael Collins et al. — NASA — 1975
  23. 35citationApollo 11 Program AlarmsPeter Adler — NASA — 1998
  24. 36citationApollo 11 : 25 Years LaterFred H. Martin — NASA — July 1994
  25. 37citationThe Lunar Module ComputerNASA — 1975
  26. 39magazineApollo 11: Mission Out of ControlStephen Witt — Condé Nast Publications — June 24, 2019
  27. 41webVirtualAGCRon Burkey