Compute Module CubeSats
CubeSats are a type of miniature satellite that are around the size of a shoe box and made from easily available, non-aerospace, parts. Because CubeSats use widely supported technologies, you no longer have to be a government or a space corporation to send a satellite into orbit: building a CubeSat is within the reach of individuals, universities and other organisations. The small size of the Raspberry Pi Compute Module makes it suitable for this very exciting application, and today we have a guest blog post from the University of Surrey to tell us more.
The Surrey Space Centre, Chris Bridges and CubeSats
Dr Chris Bridges leads the spacecraft On-Board Data Handling group in the Surrey Space Centre at the University of Surrey. He researches and teaches computer hardware and software to provide reliable computer processing in the harsh radiation environment of space. Chris is also an amateur radio enthusiast, with a passion for hacking almost any electronics for space and telling everyone that the sky is most definitely not the limit. He was involved at the beginning of the Astro Pi project back in 2014, since he has been working on numerous space flight projects involving Raspberry Pi devices and has been doing thermal and vacuum tests on them with his students.
Together with Surrey Satellite Technology Ltd, he designed, built, programmed, launched, and operated the UK’s first CubeSat, called STRaND1. The STRaND1 mission aimed to train new researchers and students as well as to launch novel payloads aboard CubeSats, including a smartphone. The team is proud of the enthusiastic coverage that the BBC and New Scientist magazine gave to the world’s first ‘phone-sat’!
Raspberry Pi in space: detecting other CubeSats
Space is a harsh environment where it’s difficult to ensure that a computer will operate reliably for an extended period of time. Cosmic radiation interferes with transistors and can bit-flip computer memory (change the state of a single binary bit from a 0 to a 1 or from a 1 to a 0) causing what’s known as a single event upset crash.
Solving this is traditionally highly expensive, but using commercial off-the-shelf technologies has been proven as an effective method in reducing these costs. Being small, powerful, and low-cost, with large community support, Raspberry Pis are an obvious candidate here, provided that they can operate reliably in space. Chris says,
CubeSats and nanosatellites are a great educational tool used around the world – for students, staff, and researchers to learn about the Earth, and explore further into our solar system. For me, the new tech I’d like to try out is towards better computing parts – the Raspberry Pi fits the bill here.
Led by Professor Craig Underwood at the Surrey Space Centre, Chris is working on the on-board computer for the STRaND2 and AAReST CubeSat missions, along with CalTech and the NASA Jet Propulsion Laboratory in the US. These CubeSat missions require the processing and detection of other CubeSats in flight for rendezvous and docking experiments, as well as for collision avoidance manoeuvres.
These kinds of CubeSats employ light detection and ranging technologies (LIDAR) as a way to measure distance to nearby objects in space. This works by illuminating the target with a laser beam and then analysing the reflected light to calculate how far away the target is.
Postgrad student Richard Duke achieved this with a Raspberry Pi, an ordinary Microsoft Kinect and some custom Linux drivers that he rewrote himself. He now works at Surrey Space Centre as a software engineer. Enthusiasts can find detailed information in Craig and Chris’ paper on AAReST published in Acta Astronautica and their paper on STRaND2 at the IEEE/AIAA Aerospace Conference.
The project allowed me to gain real-world technical knowledge into Linux hardware drivers and the building of a full LIDAR sensor package. Using low-cost but highly capable components such as the Raspberry Pi in spaceflight is a hugely exciting area of technology. It’s been fantastic to be a part of developing real space projects as part of my Masters degree.
Here is a video of Richard’s work, showing a Raspberry Pi Model B controlling a CubeSat on a frictionless test platform. It’s sending the LIDAR information over WiFi back to a Windows laptop which is processing it. The detection algorithm autonomously obtains the range and pose of the target/obstacle (the cardboard Kinect box) sixteen times every second. You can even hear the compressed air propulsion from the CubeSat firing as it gets close to the target in order to avoid a collision.
The Raspberry Pi Compute Module and reliability through redundancy
One way of making sure that a Raspberry Pi can operate reliably in space is through redundancy: if multiple Raspberry Pis are used, then if one of them should fail, another can take over (the same system used on the space shuttle). Using this method, students at the Surrey Space Centre have developed several on-board computer systems.
The smallest size of the popular CubeSat format measures just 10x10x10cm (known as 1U), and the largest 10x10x34cm (3U). As physical space is at a premium inside a CubeSat, undergraduate Oliver Launchbury-Clark developed a new on-board computer specifically for the AAReST CubeSat mission. Designed in KiCad (an open source PCB design tool), Oliver’s board is PC/104-compliant and features two Raspberry Pi Compute Modules and an MSP430 microcontroller to provide some ultra-low power functionality.
The Raspberry Pis kindle an interest in space, programming and engineering in general by providing an accessible method for students of any age to have their programs run in space.
CubeSats: widening access to space
Building CubeSats is just as hard as building a full satellite – but being able to use the latest technologies that are widely supported means that access is no longer restricted to government space programmes or large space corporations. Now, universities and private individuals can undertake these ambitious projects too.
Craig and Chris visited Caltech in Pasadena USA and got a chance to visit the NASA Jet Propulsion Laboratory in September 2015. Chris writes,
It’s a truly inspiring place – and we now need to build and work on the software to meet all the mission requirements.
At the SmallSat Conference in Utah, it was announced that the AAReST mission is planned for launch in 2018 – just one of the many CubeSat missions NASA is working on.
The tweet below shows different CubeSat missions (rows) and when they were/are planned to fly (columns). For more information go here.
Many thanks to the Raspberry Pi Foundation for donating Pis and a Compute Module to begin all this development. Chris will be looking for more Surrey students to get involved to create new software chains with US partners – so feel free to get in touch with him to help develop their line of CubeSats!
Wonderful work, I never imagine that a Raspberry Pi can handle in a realiable way a cubesat, but two, this is an interesting proposal.
Raspberry Pi in space – it’s risky knowing the gpu binary blob may have Broadcom hidden agendas (spy, misbehave). The firmware blob needs to be opened more, Eric Anholt is doing that. Only the video codec blob will remain, easyer to check if it has hidden agenda (being smaller). Remember the gpu controlls the cpu…
You’re right of course. In fact the whole last ten years of developing the Pi has actually been a ruse to get a spyblob into space and cause cosmic shenanigans.
And to increase the sale of tinfoil?
(for making into HATs)
Do you know who Eric Anholdt works for?
At the risk of joining the tinfoil hat brigade, it doesn’t really matter who he works for as long as it’s open source, that’s kinda the point.
Saying that though, even if there was something nefarious in the Broadcom binaries I can’t see it utilising a cubesat to perform its evil, the billions of routers and telephone systems out there would be a much more useful target ;)
Perhaps a little mention to the undergrad who helped too? :D
Huh, only one letter off from the Muppets skit, “PI(G)S IN SPACE-Space-space-space!!!” Since the furry (and Fozzy ;) friends are getting back into a TV series on the ABC Network, perhaps working a Babbage the Bear character into the cast would be a way for kids to learn some computing terminology (with some poor puppeteer’s hand up his … NSFC! … :) A fuzzy Pete the Python character wouldn’t be a bad idea, either … Why isn’t anyone ever taking any notes and making billions from these brain fahts I utter here? As usual, I guess I’m just going to have to do it myself … If only I had a couple of hundred rabid young assistants to help me … heyyyyy, wait a minute!!! “Hello? Henson Associates?” That company has the best corporate behemoth logo and motto ever, all rolled into one – “HA!”
In a more serious vein, I have high schoolers approaching Vanderbilt University for advice on how to get started on a CubeSat, as they’re developing the RadFxSat (radiation effects satellite) that NASA has selected as a launch candidate among around 60 others over the next few years. We’re also going to be talking to Professor Bob Twigs, the Father of the CubeSat, at Morehead State University in Kentucky, and Langley Distinguished Professor William Edmonson at North Carolina Agricultural and Technical (A&T) State University in Raleigh! who leads a number of projects developing Pico/Nano/Micro-class satellites.
Some teams are involved in very small ion and other electrically-controlled (and therefore computing-controllable) thrusters on CubeSats that can be readily simulated using 2-D physical models maneuvering essentially on an oversized air hockey table. A Pi with a (non ;)SenseHAT, mounted on a smooth-bottomed platform, perhaps in a PiBlox case snapped onto a gray Lego base plate, would fit the bill nicely. It might need GPS if the models can’t sense each other for rendezvous/docking and other coordinated mane(o)vers.
To Infinity … and Beyond!!! :D
NC A&T State Univ. is in Greensboro; NC State Univ. is in Raleigh. Between the two lie Orange County Community College in Chapel Hill and the Doris Duke Post-Secondary School for the Redundantly Wealthy in Durham. :-)
All fine institutions, btw.
B.S. ’82, M.S. ’95
I will wait for compute module 2 with quad core and begin developing on that. Not bad to have more processing power. And bcm2836 seems to be more solid, can witstand higher g forces and vibrations. The bcm2835 seems too flimsy, and the memory on top of it too. Also the memory on Pi 2 is more chunky. I Wand module 2, I want module 2… ! :)
I am trying to build a redundant system with 2 Raspberry Pi CMs. Is the PCB Design for the 2 CMs open source? Or does anybody know a free/open source PCB, with a similar functionality regarding redundancy?
I appreciate any tips!
Sort of reminds me of the MOST telescope.
Also known as the “Humble Telescope”
Comments are closed