The team that recently diagnosed and patched the Voyager 1 spacecraft at 15 billion miles from Earth should be celebrities.
I’ve always maintained that debugging electronic circuits and electromechanical systems, whether on the bench, in the prototype phase, or in the field, is the most difficult of all engineering disciplines. There are many reasons for this: the uniqueness of the situation, time pressure, location, access, ambiguous symptoms, misleading readings, data-sheet errors, parts that don’t meet claimed specifications, and overlapping fault causes, to cite just a few. Further, successful debugging is a process that requires technical knowledge, experience, insight, and hard-to-quantify intuition and hunches.
The topic of debugging is difficult to teach. It usually needs to be learned the hard way: under stress, often with the guidance of a skilled mentor. Many articles about debugging in specific situations (i.e., “How to get your USB-C design working”) exist, but an excellent book that covers the process methodically across both hardware and software perspectives is “Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems” by David J. Agans (Figure 1).

Still, nothing could prepare me to see the story about a recent debugging triumph accomplished over the past few months: finding and working around a problem on the Voyager 1 spacecraft, now beyond the boundary of our solar system and traversing the heliosphere.
A little Voyager background: Voyager 2 launched on August 20, 1977; its twin Voyager 1 launched on September 5 of that year (Figure 2). Both remain mostly operational despite 47 years of travel in the cold and radiation of space. The project was initially intended as an ambitious “grand tour” mission to pass Jupiter and Saturn, and possibly Uranus and Neptune, due to a fortuitous and rare alignment of their orbits and the ability to use a “gravity slingshot” to assist the journey. Unexpectedly but wonderfully, the two Voyager spacecraft have just kept going far beyond that impressive objective of time and distance and continue to send valuable data from never-before “seen” regions of space.

Both spacecraft have left our solar system and are now exploring the heliosheath, the zone between our system and the heliosphere, which is a bubble around the sun created by the outward flow of the solar wind from the sun and the opposing inward flow of the interstellar wind (Figure 3).

An apparent question is: what continues to power these spacecrafts after all these decades? Obviously not solar panels or any sort of conventional batteries. Instead, radioisotope thermal generators (RTGs) — a special type of thermoelectric generator (TEG) — are used, and they are still providing useful power despite their fully predictable decline in output.
The entire mission, which was put together in a relatively short time once the opportunity of a planetary line-up was recognized and publicized, is a tribute to engineering and manufacturing. Note that almost all of the components used were standard, off-the-shelf devices — and by our standards, they were incredibly crude.
All this is interesting, but what does this have to do with debugging? Beginning in November 2023, Voyager 1 was unable to send readable science and engineering data back to Earth, although the basic communication link still worked. Engineering teams at the Jet Propulsion Lab (JPL), which led the project at its inception and have managed it since then, tried to determine the problem. Among the possibilities was internal damage due to cosmic particles or even simple wear out.
Nothing about debugging and fixing a spacecraft that is 22 billion kilometers (15 billion miles) away is routine. Its orders of magnitude are more difficult than fixing the Hubble Space Telescope, with its embarrassing optical problem due to a manufacturing mistake. At least Hubble was in low Earth orbit at 320 miles, could be interrogated easily, and even get a service call from astronauts for its eventual successful repair.
Communications with Voyager 1 is at a data rate on the order of a few hundred bits/second at best, and it takes a signal over 22 hours to reach it, with the same lag for a response. This is not an environment that is conducive to any conventional investigative efforts and subsequent debugging, especially as what’s going on has to be inferred by highly constrained “poking” in a very remote context.
Every investigative move must be carefully planned and worked out. Given the propagation delay-time lag and limited access, this is not a situation where you can say, “What the heck…let’s try this and that, and we can always undo any changes.” Adding to the challenge was that access to the radiotelescope dishes needed for the link is limited, as there are so many demands for their time from other worthy deep-space projects.
Yet, there’s an improbably happy ending to the story. No, Voyager 1 did not suddenly fix itself. However, that has happened with some other spacecraft, which is unsurprising given the vagaries of such missions and the “weirdness” of space travel.
By issuing queries and getting some memory downloads, the JPL team determined with high certainty that about 3% of one memory bank was defective. The solution was to relocate the affected code elsewhere, but no single available location was large enough to hold the section of code in its entirety.
They had to divide the affected code into sections and store those sections in different unused locations, then adjust those code sections to ensure, for example, that they all still function as a whole; any references to the location of that code in other parts of the memory needed to be updated.
After months of analysis, what/if assessment, and planning, the changes were uploaded on April 18, about four months after the problem appeared. Two days later, Voyager amazingly responded, indicating the fix had worked. You can’t imagine the elation among the JPL team (Figure 4).

In a more-rational, less-distracted world, this triumph would have been “front-page, above-the-fold” news (to use an obsolete cliché), but it wasn’t. Instead, we heard more about the comings and goings of celebrities, many of whom are largely forgettable. The Jet Propulsion Laboratory (JPL) project leaders should have been interviewed on the various news shows – but that’s happening only in my dreams.
I can’t conceive of working and debugging on a project with such extreme limitations and constraints, as well as the time lag between action and response. After all, we are used to debugging using “try this/try that” tactics, the ability to undo changes, and doing most of it in near real-time.
When future generations look back at the technical accomplishments of the 20th and 21st centuries, I’d like to think that the Voyager mission and its long-term success will be on the list. Of course, the thousands of people who contributed should also be on it.
Related EE World content
Thermal Electric Generators, Part 2: Applications
Thermal electric generators, Part 1: Principles and implementation
Gravity-assist “Slingshot,” Part 2: Application
Need a really long-life battery or heat? Try a radioisotope thermal source – problem solved! – Part 4
The Hubble Space Telescope: concept, delay, embarrassment, despair, and finally – jubilation, Part 1
The Hubble Space Telescope: concept, delay, embarrassment, despair, and finally – jubilation, Part 2
The Hubble Space Telescope: Part 3
The Hubble Space Telescope: Part 4
External references
David J. Agans, “Debugging: The Nine Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems,” AMACOM, ISBN: 978-0-8144-7457-0
Stephen J. Pyne’s “Voyager: Seeking Newer Worlds in the Third Great Age of Discovery” (is a lengthy but fascinating look at the dual missions. Although written in 2010 and so does not include the Voyagers’ crossing the heliosheath, it is an excellent look at the project’s concept and implementation).
NASA and JPL also have many brief but very useful references
Mission Overview
Fast Facts (has details in instrumentation packages on board)
Mission Status (gives many useful updates, including the operational status of individual instruments on each Voyager)
Engineers Working to Resolve Issue With Voyager 1 Computer
NASA Engineers Make Progress Toward Understanding Voyager 1 Issue
Engineers Pinpoint Cause of Voyager 1 Issue, Are Working on Solution
NASA’s Voyager 1 Resumes Sending Engineering Updates to Earth
Leave a Reply
You must be logged in to post a comment.