The University of Surrey student got the chance to work on a live CubeSat project with Surrey Space Centre, drawing on his undergraduate dissertation research. The AAReST(autonomous assembly of a reconfigurable space telescope) mission he worked on takes a modular approach to setting up a large-scale telescope in space. Its dual-redundant flight computer is equipped with two Compute Modules. Alex worked on its PCB (printed circuit board).
Taking the helm
The project began in 2014, soon after the launch of the original Raspberry Pi Compute Module. This made a CubeSat board with redundant devices viable. “Redundancy is a common way to increase the reliability of space hardware. It has been used in the computers of Mars Rovers and the Space Shuttle,” Alex notes. “The idea is that if one system fails or becomes unresponsive, another can take over and continue its task.” This project was covered on the Raspberry Pi blog back in 2015.
Alex has been working on its fourth iteration. AAReST will use “a WiFi inter-satellite link to allow multiple spacecraft to rendezvous,” he explains. “Imagine flying into space one day and being able to connect to a satellite from your phone to conduct maintenance activities.”
Raspberry Pi works well because of its low cost and compact size. It’s a good alternative to the significant expense of a ‘radiation-hardened’ device that can withstand the extreme temperature of near space. “Raspberry Pi has many attractive characteristics for a COTS (commercial, off the shelf) flight computer,” says Alex. “It is low-cost and compact, more powerful than comparable microcontrollers, and has excellent support from the electronics and hobbyist community.
“From an engineering perspective,” he adds, its “self-contained processor system can be integrated into an application without needing to worry about hard-to-implement supporting components.
“The Compute Module’s edge connector gives access to the GPIO, USB, and camera interfaces, providing the flexibility to directly integrate a Raspberry Pi into another application.”
Built-in redundancy
Alex began with a partially completed blueprint from a previous student, but says this was largely a “clean sheet project”. Having been tasked with adding a cross-switched Raspberry Pi camera function and improving the system monitoring and control, he realised an integrated USB WiFi chipset would be beneficial. The Compute Modules run identical images of Raspberry Pi OS Lite (32-bit). In future, custom software code will run the dual-redundant code, possibly using Docker.
“I needed a stable software platform for running basic benchmarks and interacting with the system. Both Compute Modules run identical images of Raspbian Buster Lite, with modified device tree blobs to initialise all required GPIO and buses on the right pins. During testing, pigpio was used to access the functions of I2C and UART buses.”
Alex explains, “The CubeSat flight computer includes an MSP430 microcontroller to detect hardware failures and switch to the backup systems as soon as possible, to avoid permanent hardware damage. If a radiation hit caused a latch-up fault in the active Raspberry Pi, it would create a short-circuit path between the supply and ground.” The CubeSat would then switch to the other on-board Raspberry Pi.