A Look Under the Hood of SpaceX’s Dragon Capsule

NASA and SpaceX

On May 30th, 2020 NASA and SpaceX made history by successfully launching a crew of American astronauts from American soil using a ship built by American companies. The SpaceX Dragon spacecraft lifted off at 3:22pm and successfully docked at the International Space Station a little over 19 hours later. This marks NASA’s first manned mission to space in nearly a decade and formally ushers in a new era of space flight where private companies- not the government -will send humans into orbit.

Their Mission

Aboard the SpaceX Dragon Capsule were NASA astronauts Doug Hurley and Robert Behnken, two veterans of the now-retired American space shuttle program. Their mission: stress testing all aspects of the crew transportation system. This includes the multitudes of working parts in the Dragon spacecraft and spacesuits, as well as the Falcon 9 launch vehicle and launch pad. Their mission doesn’t have a strict timeline so the crew may end up staying aboard the International Space Station for several months. That would also give the seasoned astronauts time to perform spacewalks to replace a series of batteries in the station’s power system.

Sleek Hardware, Powerful Software

The successful launch of the hulking, 230 foot tall, 3.3 million pound shuttle has re-energized the public’s interest in space travel. Although less visible or attention grabbing as the sleek new hardware, the software responsible for controlling every aspect of the flight from takeoff to touchdown is equally, if not more, important. Frequently, the software tools used in space shuttles are kept under wraps for security and confidentiality reasons. Fortunately for us, SpaceX programmers hosted an Ask Me Anything (AMA) on Reddit where they divulged some juicy software details and discussed how Elon and his company are working to modernize the space industry. In reading their responses, it was quite surprising to learn how much of the space industry still relies on technology that is several decades old.

Chromium Backbone

One of the most critical aspects of designing a space shuttle is the implementation of a secure, robust, and user-friendly suite of software controls and computer interfaces. After all, having a big flashy shuttle is meaningless if the pilots can’t control it. Surprisingly, SpaceX Senior Software Engineer Sofian Hnaide revealed that all of the user interfaces on the Dragon Capsule run using Chromium, the open source backbone of the ever-popular Google Chrome internet browser. According to Hnaide, “We liked all the modern features that comes with browsers out of the box,” adding that using the Chromium base gives SpaceX access to tons of programmers already well-versed with the technology. This means that the web app, written entirely in HTML and Javascript like millions of common websites, is responsible for displaying all pertinent information while also handling and interpreting the astronauts’ taps and swipes. This is a huge departure from typical aerospace programming which tends to use much lower-level programming languages. 

According to Josh Sulkin, Principal Flight Software Engineer at SpaceX and software design lead for Crew Dragon, the shuttle’s Chromium-based interface works in tandem with vehicle control software written in C++ and runs on the open-source Linux operating system. They made note that software packages running in the Dragon Capsule are close cousins to what runs inside every Android phone. They have, of course, modified the software to support their own proprietary hardware. With real-time Linux options enabled, their software is able to respond to inputs reliably at fast speeds.

Linux and Starlink

All of this is tied into SpaceX’s Starlink, an ever-growing system of internet providing satellites. “Each launch of 60 satellites contains more than 4,000 Linux computers,” said Sulkin. “The constellation has more than 30,000 Linux nodes (and more than 6,000 microcontrollers) in space right now,” he said. With the Dragon Capsule able to connect to the Starlink system, a stable and reliable connection is formed even in outer space. This massive web of computers is even updated on a weekly basis, according to Matt Monson, Director of Starlink Software at SpaceX. “By the time we launch a batch of satellites, they’re usually on a build that already [is] older than what’s on the rest of the constellation. On this kind of project, pace of innovation is everything.”

Critical Updates

Their smooth system of continuous and seamless updates has already paid off several times over. “We’ve had many instances where a satellite on orbit had a failure we’d never even conceived of before, but was able to keep itself safe long enough for us to debug it, figure out a fix or a workaround, and push up a software update,” said Monson. This kind of agile responsiveness is critical when the lives of astronauts and billions of dollars in hardware is on the line.

Flying With Touchscreen

Virtually every interface on the ship uses touchscreen, a far cry from previous shuttle iterations. “As a pilot my whole career having a certain way to control a vehicle, this is certainly different,” Hurley said at a press conference on May 1st. “But we went into it with a very open mind. It’s a little bit different way of doing it but the design, in general, has worked out very well.” 

Opting for fully touchscreen interfaces throughout the Dragon Capsule was initially met with some reservations, said Norm Knight, deputy director of NASA Johnson Space Center Flight Operations during a NASA press conference on May 25th. “People wondered, ‘How are these going to work? How can you have control of the vehicle with these things? Are they going to be reliable?'” Despite early hesitation, SpaceX worked directly with the astronauts to create a system that was not only powerful and stable, but also intuitive and easy to use for the astronauts themselves.  “There was a lot of testing and evaluation that went into the ergonomics of the placement of what’s on the displays, how those displays are presented to the crew,” said Knight.

Although the Dragon Capsule flies autonomously, the astronauts are able to put the vehicle in manual mode and pilot it directly with touchscreen controls. This is useful for more sensitive operations such as docking with the ISS, landing back on Earth, or even aborting a failed launch and returning safely to the ground. Part of the Dragon Capsule’s scheduled mission also includes disabling the software controlled autopilot function on two separate occasions to test the touchscreen manual controls. 

Guest Blogger Image

At Lithios we value outside opinions. This blog was written by one of our guest bloggers.

Looking to Build Your Next App?