Voyager Phone Home

How to Patch a Bug at 15 Billion Miles Away

Have you ever wondered what it would take to patch a bug on a computer almost 25 billion kilometers away? No, of course you haven’t (right?). That is unless, of course, you happen to work for NASA.

Because that’s exactly the dilemma which NASA scientists have been pondering over since last November when the Voyager I probe “went dark.” Months later, though, it would seem the talented engineers back on Earth finally found an ingenious solution. And I’m going to walk you through just how they did it.

Some Backstory on Voyager I

But first, some backstory. Launched on September 5, 1977, from Cape Canaveral, Voyager 1 had long-reaching ambitions. The mission was designed to tour the outer planets of our Solar System, taking advantage of a rare planetary alignment that only occurs once every 176 years. The probe would get up-close and personal in unprecedented studies of Jupiter and Saturn, along with their moons and ring systems. Sixteen days after its twin, Voyager 2 (yes, they launched 2 first), Voyager 1 was on its way.

Upon reaching Jupiter in March 1979, the probe sent back a plethora of data and detailed images of the gas giant. It even discovered volcanic activity on Jupiter’s moon Io. Voyager then made a close approach to Saturn in November 1980, studying its rings and discovering several new moons. After its encounters with the two planets, the spacecraft's trajectory was adjusted to propel it out of the solar system. And so, it drifted on. Decades later, on August 25, 2012, Voyager 1 made history again - this time by becoming the first human-made object to enter interstellar space.

Despite a few hiccups, and the planned obsolescence of some technological instruments, all seemed to be going well. That is, until recently.

Interstellar Issues

Voyager 1, impressive for its time, is quite antiquated technology today. Frankly, it’s ancient. The computing power aboard the probe can process just 8,000 instructions per second - your smartphone, on the other hand, can handle billions. Even so, despite looking pitiful to modern eyes with such limited capacity and the fact that its systems still use assembly language and 16-bit words, Voyager 1 has been almost perfectly carrying out its mission billions of miles from Earth. Months ago, however, that track record hit a snag.

On November 14, 2023, Voyager began transmitting what amounted to digital gibberish. Clearly, there had been some sort of severe malfunction. For five months, the probe sent back data that was effectively useless—almost like a persistent dial tone—and the engineers tasked with its care had to scramble to diagnose the problem. So, they did what any good engineer tries first – they turned some instruments off and on again. That didn’t resolve anything, unfortunately.

Eventually, engineers opted for a full memory readout of the flight data subsystem (FDS). There, they found their bug. Specifically, the problem was pinpointed to a specific 256-bit memory block where one bit was permanently stuck, showing the same binary value repeatedly. It soon became clear that the chip couldn’t be repaired.

And, of course, there was the issue of the 15 billion miles of deep space separating the team from their buggy probe. NASA’s solution would require some creative reprogramming.

How NASA Engineers Patched a Bug From 15 Billion Miles Away

With the Voyager 1 spacecraft already 15 billion miles away from Earth and speeding even further away at 10.6 miles per second, NASA had their work cut out for them. The team needed a creative technical workaround. Not to mention, working with the craft’s dated software was “like palliative care” according to one engineer.

The key would be figuring a way to identify and reallocate the code affected by the damaged memory block. But again, Voyager’s memory is extremely limited – it’s just 69.63 kilobytes total. Finding a new home for the affected code within these tight confines would be a challenge. So, engineers began meticulously searching through the spacecraft’s existing memory to reallocate and optimize space.

How’d they do it? Well, like we said, they had to get creative. The technical solution was to, first and foremost, split and relocate the affected code across multiple memory sections, ensuring the continued functionality of the spacecraft’s systems. They managed to free up some space by overwriting obsolete data modes and other non-essential processes. For example, memory areas that were previously dedicated to faster data transmission modes - which were only relevant when Voyager was closer to Earth - were able to be tossed and repurposed.

However, they still had to be careful—they had to make sure not to delete code that’s used by multiple data modes. Accidentally deleting anything important could be crippling, especially for an already-malfunctioning probe billions of miles away in the depths of space.

Once the code was successfully relocated, engineers first had to restore the flow of engineering data, which includes vital information about the spacecraft's status and the functionality of its science instruments. On April 18, the team sent updated commands to Voyager 1. Due to the vast distance between Earth and Voyager, these commands took 22 and a half hours to reach the spacecraft, and another 22 and a half hour return journey for the response to travel back to Earth.

But on April 20, they were talking to Voyager once again. Five months after malfunction, usable data was finally being streamed back. The initial part of the fix was effective. There’s still work to be done, however. Following their success, NASA’s engineers are continuing their efforts to relocate the rest of the affected code. The ongoing adjustments are aimed at restoring the full functionality of all scientific instruments. In fact, just a few days ago, on May 22, NASA confirmed that Voyager 1 had resumed sending back science data from two of its four instruments, with progress being made on the others.

Voyager’s Uncertain Future

The cause of the stuck bit still remains a bit of a mystery. Engineers believe the issue probably arose from the computer systems being struck by a high-energy particle, or alternatively, that it simply wore out in its old age. And Voyager is getting quite old. What does the future hold for the 70s era probe as it reaches the end of its lifespan and the depths of interstellar space?

As Voyager 1 sails deeper into interstellar space, its end looms with a quiet inevitability. Engineered in the 1970s to endure the harsh realms of space, it’s a marvel of its time. Yet, despite being built with such resilience, Voyager 1 now faces a slow decline due to the finite lifespan of its power sources.

By some estimates, around 2025 NASA may begin to shut down its scientific instruments to conserve energy, and by 2036, Voyager is expected to cease communications as it moves beyond the range of the Deep Space Network antennas here on Earth. From that point on, it’ll continue its silent voyage through the galaxy, alone.

And so with Voyager’s end in sight, we might begin to contemplate the potential of a modern-day Voyager. With today's advanced technologies, how might we engineer and equip a new probe? Maybe with enhanced artificial intelligence, more efficient power systems, and improved communication methods? What would such a probe look like and what would we want it to achieve?

Voyager is a testament to the brilliance of its creators and the modern engineers who maintain its legacy. If such a craft could come out of the 1970s, what sort of successor might we be able to build today if we put our best minds to work on the problem? Whatever we intend to do, we mustn’t allow ourselves to stop dreaming.

Maybe one day, even, we’ll be able to go find Voyager and bring her home. I like to think we’d do that someday.