# Commercial grade single board computers (SBCs)

Suppose a nanosatellite is made with several commercial grade SBCs working together. And we design it so as to give output based on majority voting type of algorithm. I am aware of single event upsets and high energy particles which can destroy circuitry of non radiation hardened devices. How reliable would such a design be compared to a single flight grade board?

• I like where you're going with this, but I think the question is too broad to answer precisely. The reliability added by having redundant, voting hardware depends on a lot of things - if a board has an upset, is it considered dead or can it potentially recover? How long does it take it to recover? Are all the boards running identical code and thus vulnerable to all going down from the same fault? – Bear Mar 6 '17 at 14:16
• I am only interested in knowing how space effects the commercial boards. in other words can a clever software design circumvent the problem? – Prakhar Mar 6 '17 at 14:18
• YSDYAs, otherwise no one knows what they are. – Erik Mar 6 '17 at 14:34
• What do you mean by YSDYA? – Prakhar Mar 6 '17 at 14:42
• You Should Define Your Acronyms. – Erik Mar 6 '17 at 15:21

For the simple voting algorithm, you need 1 board to generate unverified control (standard), 2 boards to verify control is correct (but offer no backup if it isn't; you can't tell which of the two mismatched votes is correct) and 3 boards to offer the first level of redundancy.

The 2-board scenario doubles the chance of failure; in the 3-board scenario (any) 2 out of 3 need to fail. So if $p$ is the probability of a single board out of $n$ boards failing, the chance of the system failure will be of order $p^{n-1}$.

Since other modes of failure - like software errors that repeatably create the same error across all boards, or coronal mass ejections that will fry all the boards, are more probable, going way beyond 3-4 boards doesn't make much sense.

• Thanks for the answer. I understand. I read somehwere they launched raspberry pi's compute module in a nanosatellite. Just wondering how good that is. – Prakhar Mar 6 '17 at 14:31
• @Prakhar: From my professional experiences with RPi, I don't believe it's any good. We were cooperating with a firm that made a RPi based machinery monitoring solution for use in mining industry, and it was a horrible failure. These devices are meant for home/office conditions. Never mind more than 500mA power drain, which for this kind of application is hopelessly excessive. Triple that? uh. Just awful. – SF. Mar 6 '17 at 14:37
• I see, I guess sticking with atleast an industrial grade board is a must for a nanosatellite. Never knew rpi will be that unreliable, would like to know exact reason of their failure in your application ? – Prakhar Mar 6 '17 at 14:41
• @Prakhar: Considering the board will be likely less than 1% of the cost, there's no point skimping on it. In my case - electromagnetic noise, vibration (connectors not made to handle it), dust, moisture (again, connectors - primarily SD!) and economy-class electronics (definitely not industrial standard fault rate). The challenges for a cubesat will be somewhat different but definitely present. (radiation, unreliable power, temperature swings, great accelerations on launch). Never mind the multimedia features completely useless in these applications, only adding fault points and power drain. – SF. Mar 6 '17 at 14:47
• The main problem with RPis for space applications is that they don't have error correcting code memory. At my previous employer, I helped build an RPi-based system that we sent into the flames. One of our clients dealt with oil well blowouts. One of their clients had a blowout, and we said give us a chance to see what's going on inside it. We had but days to build a device that would quite literally be sent into the flames to measure conditions inside the blowout. Our device recorded sensed data on a USB flash drive. It came out of the flames oily as all get out, but the data was still there. – David Hammen Mar 7 '17 at 2:02

I suspect the answer depends on the mission and how critical the processors or their collective response are to the mission. In any case, I believe we have no flight data to provide a solid answer.

I have heard of Raspberry Pi being flown or proposed to be flown in space. I have not heard about them being harnessed as a cluster.

A more reliable SBC for flight might be the BeagleBone Black. It also has analog options and real-time support that the RPi apparently does not, and is considerably more rugged. (Then again, the RPi is considered by many to be a better streaming multimedia machine.) However, as noted in other posts, power consumption might be an issue. It is used in rocket and small UAV designs, where the powered duration is relative short. One can imagine pulling together several BeagleBone machines to improve reliability. But so far, I have not heard of such a specific effort.

There is a project dating back to 2013 to create a "dependable multiprocessor" (DM) which includes several commercial off-the-shelf (COTS) boards. In this case, the boards are several Gumstix SBCs. This was a joint project of Honeywell and Morehead State Univ (MSU), in Kentucky. (There seems to be a fair amount of CubeSat activity at Morehead State; if you trace where the originators of the CubeSat concept are, you'll know why.) The DM project was presented at the SmallSat 2013 Conference. Some prototype hardware exists; I don't know if it has flown yet.