X
Innovation

You think patching Windows is a pain? Try patching a Mars rover millions of miles away

Just uploading the patch alone took 10 days.
Written by Steven Vaughan-Nichols, Senior Contributing Editor
mars-curiosity-rover-msl-horizon-sky-self-portrait-pia19808-br2.jpg

NASA's Curiosity Mars rover on August 5, 2015.

Image: NASA/JPL-Caltech/MSSS

Software updates can be tricky at the best of times. Now, imagine updating legacy technology on a device that's millions of miles away in space. That was the scale of the challenge facing IT professionals at NASA.

More than 10 years ago, NASA's Curiosity Rover landed on Mars. At about the same time, if you were using Windows, you were running Windows 7. In computer years, a decade is a very long time. Today, the chances are that you're running Windows 11. So, what operating system is Curiosity using? The answer is that it's still running Wind River's VxWorks.

Also: Generative AI is changing your technology career path. Here's what to know

VxWorks is a popular, real-time embedded OS. On Curiosity, it's running on a 200MHz RAD750 PowerPC microprocessor, which is the radiation-hardened version of the venerable 750 PowerPC chip. Those chips were last seen in Earth-based PCs such as 1999's Fruit Colored Apple iMac G3 models.

So, why did NASA use such old, slow chips? The answer is that they were easier to use in hardware that was built to resist cosmic rays. The chips are backed with two gigabytes of flash memory, 256 megabytes of random access memory, and 256 kilobytes of erasable programmable read-only memory (EPROM).

Despite the hardware's success, there's still room for software improvements. Like most other people, you've probably upgraded your PC at least three times since 2012. But that's a luxury NASA doesn't have. After all, there are no PC repair people in space.

Also: What is Auto-GPT? Everything to know about the next powerful AI tool

Now, after years of development, a groundbreaking software update has been successfully installed on Curiosity, which enables the Mars explorer to drive faster and minimize wear on its wheels. 

The update, which involved about 180 changes, necessitated a brief pause in Curiosity's scientific and imaging operations from April 3 to April 7. This latest patch was small: just under 22 MB. Nevertheless, it's a complete replacement for the earlier operating system and the update was uploaded in 51 files.

Uploading the patch was a slow affair. At its absolute fastest, Curiosity can upload at 256 Kbps. To give some context, you probably haven't seen speeds that slow since the last time you used a modem. In the event, the upload took 10 days. The actual installation took four days in April.

Then, after everything had been checked out, Curiosity was finally ready to run its new operating system. Its old operating system had been stored in memory, so if anything had gone wrong, it wouldn't have taken days to reboot it. 

Also: Future ChatGPT versions could replace majority of work people do today, says AI researcher

The successful rollout is a significant achievement. The patch has been in planning since 2016, the last time Curiosity got a software overhaul. Curiosity project manager Kathya Zamora-Garcia of Jet Propulsion Laboratory (JPL) explained the scale of the update: "The flight software is essential to our mission, so this is a big deal for our team."

The patch comes with a range of improvements, from minor adjustments in communication to more efficient computer code. 

The biggest difference between the old version of the software and the new is that this update enables Curiosity to perform "thinking while driving" more effectively, which is similar to its younger counterpart, Perseverance. The upgraded Curiosity can now process images more rapidly, enabling it to spend more time in motion.

Jonathan Denison of JPL, Curiosity's engineering operations team chief, explained that while the rover won't match Perseverance's speed, there is a performance boon: "Spending less time idling between drive segments also means we use less energy each day." He added that the almost 11-year-old rover continues to adopt innovative strategies to maximize its available energy for scientific activities.

Also: ChatGPT is more like an 'alien intelligence' than a human brain, says futurist

The update also addresses the issue of wheel wear, which first emerged in 2013. The new software introduces two mobility commands that minimize the amount of steering required, accelerating the rover's progress and reducing wear on its wheels. 

This breakthrough allows for a more streamlined driving experience for Curiosity's human operators. That's a big change as Curiosity previously had to stop for minutes between driving segments. Denison explained what this streamlined experience means: "This won't let Curiosity drive as quickly as Perseverance, but instead of stopping for a full minute after a drive segment, we're stopping for just a moment or two."

Of course, the biggest news of all is that the patch was successful. No one wants to troubleshoot a blue screen of death from 143 million miles away. Denison expressed relief and satisfaction with the software update's success, admitting: "The idea of hitting the install button was a little scary. Despite all our testing, we never know exactly what will happen until the software is up there."

Editorial standards