A group of Russian geeks intends to shoot a small vehicle to the moon, which is supposed to photograph the places of the Apollo landings. This will be the ultimate proof that people actually visited the moon.

In one of the articles about the topic I've read that you could use a low-cost onboard computer, even an Arduino, provided that it is protected from radiation.

If the purpose of the spacecraft is to

separate itself from a group of satellites (several small vehicles will be launched with one rocket),

navigate to and fly over a particular place,

shoot a couple of photos and

transmit them to Earth,

can you really use such a low-end device as Arduino as the onboard computer? If not, why not?

Update 1 (06.02.2016 12:34 MSK): I asked the project lead on how they intend to prove that the images are real. You can find his answer here. Short version:

The images will have a much higher quality than those generated by previous analogs. This means that the new vehicle will "see" things (such as details of the Moon surface), which previous didn't. Therefore, the images will contain additional information, which is not known yet (like a small crater, which was unrecognizable on earlier photographs).

Radio amateurs will be able to detect (but not to decode) the signal from the vehicle.

$\begingroup$Maybe the "penultimate" proof. Do they say how they will secure their data stream?$\endgroup$
– uhohFeb 5 '16 at 11:11

23

$\begingroup$I agree with the sentiment in uhoh's comment above. The kind of people who dismiss the hundreds of thousands who worked directly on the Apollo project, the hundreds of thousands to millions who watched the spacecraft launches live, the monitoring of the missions done throughout the world by both amateurs and professionals, the authenticity of the returned samples, photos, etc, are exactly the kind of people who would dismiss such photos as could be returned by a probe like this too. To think the USSR would have dismissed the huge propaganda win in proving Apollo fake is little but ludicrous.$\endgroup$
– a CVnFeb 5 '16 at 12:23

5

$\begingroup$I needed a new project for my Arduino, now I am busy...$\endgroup$
– Hohmannfan♦Feb 5 '16 at 13:37

4

$\begingroup$I suspect an Arduino is a great deal more powerful in terms of computing capability than the computers which controlled the Apollo launches and spacecraft.$\endgroup$
– Bob JarvisFeb 5 '16 at 15:59

2

$\begingroup$@BobJarvis -- less so than I would have guessed, but yes, an Arduino Zero is clocked 24x faster, has more than 3x the storage, 8x the RAM of an Apollo AGC.$\endgroup$
– Russell BorogoveFeb 5 '16 at 17:44

9 Answers
9

Can you have a spacecraft based on an Arduino? Sure you can! ArduSat was two kickstarter funded cubesats that were eventually launched from the International Space Station in November 2013. When you think about it, an Arduino easily outperforms for instance the over forty year old Apollo Guidance Computer

All of your requirements should be doable, if it is simply a flyby mission.

By the way, images of the Apollo landing sites are already taken, for instance by the Clementine probe.

$\begingroup$Thanks. That new vehicle will fly at a lower altitude and the intended resolution of the images will be higher.$\endgroup$
– DP_Feb 5 '16 at 8:01

6

$\begingroup$Shielding can't be 100% - especially with a nanosat weight limit. May be a good idea to use (at least) three arduinos with proper redundancy handling. This answer about the first space shuttles running on a handful of Z80's is worth reading.$\endgroup$
– uhohFeb 5 '16 at 10:57

$\begingroup$Arduino seems plausible, but how do you pack 10 km/s delta-v into a cubeSat?$\endgroup$
– John DvorakFeb 5 '16 at 14:05

3

$\begingroup$One problem: in LEO the Arduino is still protected by Earth's magnetosphere. While going to the Moon, that is no longer the case, and it's not a radiation-hardened chip.$\endgroup$
– SF.Feb 6 '16 at 22:14

You can, but it will suffer from a number of problems. These problems can probably be overcome with a short term mission. Problems include:

Radiation- Degrading the long term effect of the electronics.

Single event upsets- This is probably the biggest danger, a high energy cosmic ray strike could cause a bit flip, potentially changing the code running in a mission critical way.

Temperature- If the temperature isn't carefully managed, could see some significant damage.

Vacuum- Probably not much of an issue, but could cause out-gassing which might have a long term effect.
5- Vibration- Parts could be vibrated off during the launch.

These probably can mostly be overcome by adding in extra protection to the spacecraft. But there isn't anything in particular that would prevent an Arduino from being used to control a spacecraft, especially a very short term mission. It has been demonstrated in LEO, but the radiation effects will be more severe for a mission to the Moon. Bottom line, it could be done, but I wouldn't recommend it.

$\begingroup$This is the right answer. Could you make a low cost computer work. Sure. But it'll end up costing much more in modifications to account for the operating environment than more expensive computers already designed for the job.$\endgroup$
– DunkFeb 5 '16 at 20:11

2

$\begingroup$Well, it depends on the lifetime. If your goal is only to get something to work for a few hours, you'll probably be okay with an Arduino. If it's much more than that, then you have a high likelihood of having some issues in the end without modifications. But radiation hardened equipment is expensive too.$\endgroup$
– PearsonArtPhoto♦Feb 5 '16 at 20:14

I concur with Hohmannfan's response. This answer addresses the wider issue of computers in satellites.

Who needs a computer?
I don't think there is anything about the mission that you have described in the question that actually requires any "digital computer" at all. It might seem as if image handling and navigation are highly demanding in computing terms, but that is largely because we are accustomed to the idea of a world enabled by high-level software.

I think it is a good starting point in terms of systems engineering education to actually step through the processes involved and ask oneself "what is the most basic implementation possible?", particularly in terms of "what decisions absolutely must be taken on board, rather than by ground command?". Designers of missions in the 60's through 80's often came down on the side of "no computer needed". Its only since the weight, performance and cost of such things has come down that we take it for granted.

Digital
All of the logical decisions that need to be made on a satellite could in principal be made by discrete logic gates. Its an engineering judgement as to when the "digital finite state machine" so created has become so complicated that it would be better replaced by a CPU/address bus/data bus architecture.

As an aside, its not obvious that there is any clear dividing line between discrete electronics and a "computer" in the modern sense. This article regarding Pioneer 10 hints at the in-between possibilities.

Much of the computation for the mission was performed on Earth and transmitted to the probe, where it was able to retain in memory up to five commands of the 222 possible entries by ground controllers. The spacecraft included two command decoders and a command distribution unit, a very limited form of processor, to direct operations on the spacecraft.

Analogue
Furthermore, decisions relating to progressive quantities - sensor outputs and control loops are in the first instance analysed in control engineering terms. How they are implemented is again a design choice and the old world was full of analogue computer elements.

Environmental compatibility
There is the launch environment and then natural radiation once in orbit. The latter includes ESD damage (see here) as well as radiation dose and displacement damage. One interesting anecdote is that the progressively higher performance computers using physically smaller gates and switching times are more vulnerable to these effects than their older cousins. When it comes to ESD, shielding doesn't help when there are peripheral bits of the circuit on the spacecraft skin. The designers need to take it carefully.

$\begingroup$These days we tend to reserve the term 'computer' for a Turing-complete system (i.e. one that can run any program). Early satellites sometimes used sequencers, purpose-built circuits that provided basic functions but were not reprogrammable.$\endgroup$
– HobbesFeb 5 '16 at 12:27

$\begingroup$I'm not sure the article on Pioneer 10 is a good example of how computers need not be all-digital, at least not as cited. The only occurance of the word "computer" in that article as of now is under the "Encounter with Jupiter" heading and refers to image postprocessing to correct distortions, which is largely unrelated to the operation of the spacecraft itself.$\endgroup$
– a CVnFeb 5 '16 at 12:29

2

$\begingroup$@Hobbes And even farther back, it referred to a person who carried out, or "computed", calculations. Using the word "computer" to mean a digital, reprogrammable, electronic, binary computer is really a rather newfangled idea. (With ASICs and to a lesser degree FPGAs, we have come almost full circle.)$\endgroup$
– a CVnFeb 5 '16 at 12:30

$\begingroup$I'm curious, how you can capture and send an image without a digital camera. Do you mean using an analog camera and sending the signal from it directly to Earth (without storing it) ? Like they did in the 1950es with TV shows (they were not recorded by sent directly to the receivers via analog channel) ?$\endgroup$
– DP_Feb 5 '16 at 12:41

$\begingroup$@Michael Kjörling I'm sorry for the confusion and thankyou for pointing it out. I had actually done a search on the phrase "comput" and found a different passage. I've pasted that section into my answer now.$\endgroup$
– PuffinFeb 5 '16 at 12:54

It should be possible. ESA has tested the rad-hardness of some cousin processors to that used in the Arduino and they turned out fairly well, at least for a relatively short mission. Some current stuff is actually using ancient 8051-architecture chips.

There would be enough processing power to do navigation, maybe even enough to stream out recorded fake pictures.

$\begingroup$Do you have a source for the tests ESA did?$\endgroup$
– HobbesFeb 6 '16 at 15:46

$\begingroup$That link is very interesting - but a little hard to follow in detail. Are all the tests designed to simulate radiation effects in LEO (these are heavy ions from a particle accelerator, right? "...Irradiation by Iron and Krypton Ions..." ) The application described in the question is "LLO" (Low Lunar Orbit) where the radiation is much higher (and variable) than LEO.$\endgroup$
– uhohFeb 7 '16 at 4:33

$\begingroup$@uhoh Yes, particle accelerators (at relatively low intensity). There is a more comprehensive report elsewhere- I was just intending to give you enough key words that the source information could be easily found (and it is actually published). The radiation levels in a lunar mission are higher than the relatively benign LEO environment, of course, but the moon blocks off the sun's radiation for half the orbital time- the total might be a few times higher for the same length of time. There is public-domain information out there on this.$\endgroup$
– Spehro PefhanyFeb 7 '16 at 12:39

Others have covered the hardware difficulties, but I would like to mention the software difficulties. Getting enough margin (CPU and memory) is difficult on arduino class processors. Spacecraft I have worked have required anything between 50% and 90% margin that means that you only get to use between 50% and 10% of the processor. The margin is for things like schedulability and memory scrubbing. The other factor is it is just harder (and therefore more expensive) to write reliable software with less resources. There is a fine line between too simple (can't do all the checking you really should do) and too complex (impossible to test) and the arduino probably favours more of the former.

$\begingroup$@Dmitri Pisarenko I am really only familiar with the RAD750 and Leon3 (both very expensive). If I had to go cheap I would consider and ARM or even a Spartan with a micro-blaze, but I would never cut costs on software or computation hardware really. The cost of the ride is soooooo much more it's worth being sure it works when it gets there.$\endgroup$
– SamFeb 5 '16 at 17:31

1

$\begingroup$@Sam - Although I'm not a big fan of them, arduino class processors can do far more than you give them credit for. Although, I definitely agree that the cost of the processor board pales in cost when compared to the cost of everything else. So you may as well spend a few extra bucks and get exactly what you need.$\endgroup$
– DunkFeb 5 '16 at 20:14

2

$\begingroup$@Dunk seeing as they can't even hold a RTOS and a well certified RTOS is one of the easiest ways to make solid designs. no, I don't think I'm giving them too little credit.$\endgroup$
– SamFeb 5 '16 at 20:53

2

$\begingroup$@Sam: I can't quite imagine choosing a Spartan for this situation--I hardly know of anything that's less rad tolerant. For a rad tolerant FPGA, Microsemi would be a much better choice (e.g., a SmartFusion2, which has a low-end ARM processor, decent SEU protection, and an RTOS easily available). For anybody wondering "why?": Most Xilinx FPGAs (including Spartans) use SRAM for storage. Most Microsemi FPGAs use flash for storage. They also have antifuse-based ones that should be even more rad-tolerant (but more expensive per gate, if memory serves).$\endgroup$
– Jerry CoffinFeb 5 '16 at 22:42

2

$\begingroup$@Sam: Fair enough--and lest I be misunderstood, I'd add that I have nothing against Xilinx in general (in fact, I've probably used their FPGAs more than any others). But, rad-hardness is not one of the strengths of most of their parts.$\endgroup$
– Jerry CoffinFeb 5 '16 at 23:12

You don't need that much processing power or RAM to explore space. The Arduino is far more powerful than the processors which have been used on spacecraft historically. The basic Arduino is 16 MHz and 256 KB of flash memory. You can add RAM or flash in significant amounts. The computers used in the Apollo space program come nowhere near this.

Galileo's processors are 8 MHz, while Spirit and Opportunity are 20 MHz processors. The code on these probes was highly optimized and specially developed for the purpose at hand, making very efficient use of the computing resources available.

From a computational point of view, it is feasible to pack all the algorithms in there. However, there are issues with radiation shielding as you point, but integrated circuits are also affected by temperature, so proper thermal insulation must be considered too, as these are not definitely graded to operate in "harsh" environments.

I think this project is extremely difficult. To get detailed high quality pictures of Apollo landing sites, you need a very low orbit around the moon. The distance between the spacecraft and the landing site has to be small enough for a detailed picture. But those very low moon orbits are not stable due to mascons of the moon. To avoid a crash, the small spacecraft would need a sophisticated propulsion system and a lot of fuel for orbit control. The navigation must be extremely precise to get an orbit over a landing site. There is no moon GPS available for navigation. Finding the landing sites requires complex and very fast image processing to dectect the remains of a landing within a series of pictures. I doubt that an arduino has enough processing power to do this image processing in real time.

My take: You could use an Arduino board, but you would have to remanufacture it to be non-RoHS compliant, ie using Sn-Pb solder, using conformal coatings and potting it. As it stands, space electronics have an exemption from RoHS compliance anyway.

The Arduino boards you buy off the shelf are RoHS compliant and use hi-Sn/lo-Ag solders. One problem with that in a space environment is the high susceptibility to growth of tin whiskers from the solder joints, which can cause short circuits by bridging to adjacent tracks. Tin whiskers has been asked as a question here before.

Unfortunately, the growth and causes of these whiskers is not well understood, and the mission duration isn't a factor - they can occur at any time.