What Computer and Software Is Used by the Falcon 9?

Sep 23, 2020
3 min read

Last summer, SpaceX embarked on the first US-manned spaceflight in almost a decade. What made this event even more historic is that it successfully took NASA astronauts into orbit on a privately-manned spacecraft and delivered them to the International Space Station.

As rockets like the Falcon 9 follow the same ethos as missile technology, the US government treats information about its inner workings as classified information. So it's a challenge to find specific details about the hardware and software used onboard the spacecraft.

But by scouring through the internet and Reddit, we can get a pretty good idea about what they rely on to achieve their objectives. For example, we know that SpaceX's Falcon rockets leverage software packages closely related to programs running on your devices.

What Kind of Computer Does SpaceX Use Onboard the Falcon 9?

In a recent session of Reddit's Ask Me Anything (AMA), NASA astronauts Bob Behnken and Doug Hurley stated that they used Google Chrome whenever they tapped on the touchscreens that controlled the Crew Dragon Capsule.

The computers used on rockets are custom built to withstand harsh conditions. These include intense heat and significant vibration. When the Falcon 9 enters the earth's orbit, the hardware must cope with a tremendous amount of heat and cold that can be anywhere from 120°C to -150°C.

However, temperatures alone don't pose the most significant threat. Electronic equipment onboard the spacecraft must withstand the radiation like high energy particles ejected from the sun, particles from outside our solar system, and the earth's magnetic field.

This scenario threatens to cause what's known as a bit flip. This phenomenon occurs when high energy particles strike the memory or the processors onboard space computers. So if they hit the memory, for example, it creates a situation where a "0" becomes "1" and vice versa. This, in turn, corrupts the specific component of the memory.

As a result, you'd expect the company to deploy costly radiation-hardened components. Still, SpaceX has consistently used off-the-shelf parts because it isn't necessary when you follow what's known as a radiation-tolerant design.

While we're not sure about what kind of machines they have now, a few years ago, the Falcon 9 was equipped with three flight computers for each of its engines, and a triple redundancy computer equipped with 30 processors.

As these computers don't leverage their multicore processor capabilities, they perform computations of two cores separately and compare results. This means that these three flight computers (with dual-core processors) operate as six independent computers that regularly verify each others' calculations.

So if one of the spacecraft's computers succumbs to radiation, it'll put out a different value detected by the other computers. The malfunctioning processor is then rebooted automatically, preventing further errors.

Then in what's known as a re-sync, it copies the other processors' memory, executes the same programs, and matches other systems' execution onboard. In the unlikely event that all three computers malfunction because of radiation, the other systems onboard that allow the triple redundancy model will kick in.

What Software Does SpaceX Use Onboard the Falcon 9?

Each of the company's rockets and satellites use a variation of the Linux Operating System (OS). This is very similar to the OS that powers billions of Android mobile phones. The Linux OS runs on almost all of the company's desktops and vehicles.

SpaceX has launched approximately 32,000 Linux computers into space to power the Starlink internet. The company also launches 60 internet-beaming Starlink satellites with a load of 4,000 stripped-back Linux computers every month.

This initiative aims to build a robust global constellation of spacecraft that delivers high-speed broadband coverage from orbit.

Why is Linux the go-to choice for space travel?

SpaceX leverages Linux as it allows its engineers to use the robust applications that come with it and streamline the development process. Programmers at the company are known to use C++, a popular coding language with a large C++ ecosystem.

When developers utilize existing tools like gcc (C and C++ compiler) and gdb (debugger), it negates the need to build new software. However, the company also uses a graphical programming tool that runs on Windows called LabView.

This allows the engineers on the ground to track critical metrics and better visualize the telemetry they receive from the Falcon 9 during its interstellar journey.

This approach makes it easy to build data analysis algorithms, integrate measurement hardware, and represent complex logic on diagrams. Finally, SpaceX also uses Matlab on base as an analysis tool.

The Dragon spacecraft, on the other hand, also runs Linux with custom software written in C++. However, the touchscreen interface is rendered leveraging Chromium and JavaScript.

With each successful launch, SpaceX accelerates development and embarks on multiple missions into outer space. So it's safe to say that this article will continue to be updated as more information is leaked from command central.