23

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

  1. separate itself from a group of satellites (several small vehicles will be launched with one rocket),
  2. navigate to and fly over a particular place,
  3. shoot a couple of photos and
  4. 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:

  1. 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).
  2. Radio amateurs will be able to detect (but not to decode) the signal from the vehicle.
  • 5
    Maybe the "penultimate" proof. Do they say how they will secure their data stream? – uhoh Feb 05 '16 at 11:11
  • 29
    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. – user Feb 05 '16 at 12:23
  • Related questions: http://space.stackexchange.com/questions/12522/rtos-vs-linux-against-single-event-upsets/12524#12524 and http://space.stackexchange.com/questions/8198/using-non-radiation-hardened-processors-in-lunar-orbit/8227#8227 – Hobbes Feb 05 '16 at 12:23
  • 1
    @MichaelKjörling I agree with you that some people will never be convinced, but it's still a cool project. Your thesis about Soviet/Russian propaganda isn't 100 % correct. There is at least one, verified material that one could use for super-effective anti-American propaganda, but not a single Russian/Soviet politician or media channel has ever published on large scale. Even the worst populists don't talk about it, although it looks like a smoking gun to me. –  Feb 05 '16 at 12:36
  • 5
    I needed a new project for my Arduino, now I am busy... – SE - stop firing the good guys Feb 05 '16 at 13:37
  • 6
    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. – Bob Jarvis - Слава Україні Feb 05 '16 at 15:59
  • @uhoh, comms security is I dare say never done in software. – Sam Feb 05 '16 at 17:32
  • 3
    @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. – Russell Borogove Feb 05 '16 at 17:44
  • @MichaelKjörling actually my sentiment is not what you are trying to agree with. I just meant to bring up the quandary - if it's encrypted with a key contained inside the spacecraft to verify to them that the data is real, then the world must take their word for it. If it is not encrypted, then we can't be sure of the origin of the transmission. So maybe if the data is sent simultaneously encrypted and unencrypted, with multiple ground stations (including Amateur Radio operators) comparing notes, then maybe it's more valid. Purely from an information logistics standpoint. – uhoh Aug 22 '16 at 03:03
  • 2
    @uhoh Actually, if anything, I think that just makes the problem easier. Use asymmetric encryption. Sign each chunk of data with a private key held only aboard the spacecraft (sounds a bit like the ultimate hardware security module), and publish the public key far and wide at the moment of launch (or orbital insertion at the latest). Downlink in the clear. That would allow people to validate the signatures, but not create their own. That is a solved problem. (Asymmetric encryption is more computationally intensive than symmetric encryption, but that is hardly an insurmountable problem.) – user Aug 22 '16 at 06:42
  • @MichaelKjörling sold! I'll take two of those and a side of chips to go. Wrap it tight, it's a long ride. OK thanks for the tutorial! – uhoh Aug 22 '16 at 07:03
  • Principal concerns for things you shoot into space are size, mass, power consumption, durability and reliability to do the required job. Arduino would do extremely well for size and mass, probably just fine on power consumption, might be OK for some durability factors. Space is a harsh environment, and non-crewed space launch can be a violent process. Wide temperature swings, radiation, and ability to dissipate excess heat in a vacuum are all things in space that can kill hardware that works just fine in an everyday "shirtsleeve" environment. – Anthony X Aug 22 '20 at 13:23

10 Answers10

35

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.

  • 1
    Thanks. That new vehicle will fly at a lower altitude and the intended resolution of the images will be higher. –  Feb 05 '16 at 08:01
  • 6
    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. – uhoh Feb 05 '16 at 10:57
  • Oh CubeSats I've read an article about them, it's so awesome – Kyle Feb 05 '16 at 11:59
  • 3
    Arduino seems plausible, but how do you pack 10 km/s delta-v into a cubeSat? – John Dvorak Feb 05 '16 at 14:05
  • @JanDvorak see 1. In the question, it is already launched by a booster rocket. The sat is just coasting. – SE - stop firing the good guys Feb 05 '16 at 14:08
  • I understand 1. as getting them into LEO, but you still have to get from there to the Moon transfer orbit. [checks Wikipedia] OK, 1.3 km/s. But I still thought cubesats didn't have any real thrusters or fuel except a little bit for attitude control and deorbit. – John Dvorak Feb 05 '16 at 14:12
  • @JanDvorak I interpreted it like that the Arduino based sat was just one of many satellites launched into a trajectory towards the Moon. But but my interpretation may be wrong, and the premiss is ambiguous. – SE - stop firing the good guys Feb 05 '16 at 14:18
  • Here is the YouTube video that appears on the site linked in the question (or see this and then this screenshot), showing it deployed from another spacecraft near the moon. I have to agree with @DmitriPisarenko - ignoring all the noise (as they mention on their boomstarter.ru project - thanks google for translating) it is a kind-of cool project. – uhoh Feb 05 '16 at 15:10
  • Haha, the video from Clementine is exceedingly unimpressive. – Octopus Feb 05 '16 at 22:23
  • 3
    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. – SF. Feb 06 '16 at 22:14
26

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

  1. Radiation- Degrading the long term effect of the electronics.
  2. 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.
  3. Temperature- If the temperature isn't carefully managed, could see some significant damage.
  4. 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.

PearsonArtPhoto
  • 121,132
  • 22
  • 347
  • 614
  • 4
    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. – Dunk Feb 05 '16 at 20:11
  • 3
    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. – PearsonArtPhoto Feb 05 '16 at 20:14
  • 1
    Perhaps radiotion-induced latch-up should also be mentioned (affects power supply requirements (mitigation)). – Peter Mortensen Feb 07 '16 at 15:52
  • List in your answer appears to be malformed a little, to fix this one needs to substitute the . character (a full stop dot) for a - character in the beginning of the list's fifth point. It is too unsubstantial for me to do it via suggested edits. Cheers. – No Nonsense May 13 '22 at 22:05
16

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.

By the way, thank you @uhoh for the link, that was interesting.

Puffin
  • 9,514
  • 33
  • 55
  • 4
    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. – Hobbes Feb 05 '16 at 12:27
  • 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. – user Feb 05 '16 at 12:29
  • 2
    @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.) – user Feb 05 '16 at 12:30
  • 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) ? –  Feb 05 '16 at 12:41
  • @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. – Puffin Feb 05 '16 at 12:54
  • @DmitriPisarenko That would be unrelated to whether an Arduino could be sufficient as a spacecraft control computer. It sounds like a good question, though; if it hasn't already been asked on the site, I would encourage you to ask it as a separate question. – user Feb 05 '16 at 12:57
  • @Hobbes and Michael Kjörling Yes, bespoke logic is exactly what I was referring to. Using the Pioneer 10 example a command decoder could validate an incoming bit stream as a command or not from its header, turn the next 8 bits through a serial to parallel conversion, and then "demultiplex", i.e. those 8 bits physically select an individual wire leading out of the decoder box to some client equipment that receives an on/off command. – Puffin Feb 05 '16 at 13:00
  • @DmitriPisarenko Your suggeston is one possibility, but one could equally read a CCD stepwise into some memory and then read it out and transmit sometime later. A "computer" is not actually required for this task, it just makes things much easier these days. – Puffin Feb 05 '16 at 13:05
  • Didn't some early satellites have vacuum tubes (valves)? This book about the role of semiconductors in early space exploration looks quite interesting. A shorter history of transistors. I love the Transistor Museum - now renamed the Semiconductor Museum. – uhoh Feb 05 '16 at 15:24
  • In this case, it's a digital camera, so it needs a (conventional) computer. – JDługosz Feb 06 '16 at 11:13
  • You can make entirely analogues TV cameras. Some early probes took pictures with film, then (once again analoguely) faxed the pictures back. You also can record video on tape. – ikrase Aug 23 '20 at 10:39
9

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.

Edit: A powerpoint summarizing the ESA findings can be found here.

Heavy Ion result for ATMega128

The ATMega128-AU16 has an acceptable behavior for a ISS LEO environment.

SEL once in 481 years

SEU once in 690 years

The AT90CAN128-AU16 is not acceptable for space application.

The chip used in many Arduinos is the ATMega328, which is a cousin of the ATMega128.

Spehro Pefhany
  • 401
  • 2
  • 6
  • Do you have a source for the tests ESA did? – Hobbes Feb 06 '16 at 15:46
  • 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. – uhoh Feb 07 '16 at 04:33
  • @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. – Spehro Pefhany Feb 07 '16 at 12:39
8

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.

It's entirely do-able.

Peter Mortensen
  • 353
  • 2
  • 7
GdD
  • 20,226
  • 6
  • 65
  • 85
8

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.

Sam
  • 600
  • 5
  • 10
  • What hardware platform would you use for the mission described in the question? –  Feb 05 '16 at 17:17
  • 1
    @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. – Sam Feb 05 '16 at 17:31
  • 1
    @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. – Dunk Feb 05 '16 at 20:14
  • 2
    @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. – Sam Feb 05 '16 at 20:53
  • 2
    @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). – Jerry Coffin Feb 05 '16 at 22:42
  • @Jerry Coffin, I have friends at xilinx and I know it better than any other FPGA, that's the only reason. – Sam Feb 05 '16 at 23:04
  • 2
    @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. – Jerry Coffin Feb 05 '16 at 23:12
  • @JerryCoffin: Xilinx has Virtex-5QV FPGAs with 1 Megarad guaranteed total ionizing dose. And Xilinx FPGAs work on Curiosity – Peter Nazarenko Aug 22 '20 at 13:21
6

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.

Waldo
  • 61
  • 3
3

My take: You could use an Arduino board, but you would have to remanufacture it to be non-RoHS compliant, i.e. using solder made of lead-tin alloy, 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 lead-free solders, whose only main structural metal is tin, alloyed with small amount of silver. 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 have been asked about as a question here before. Lead content slows down the growth of the whiskers and inhibits the tin pest.

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.

So your COTS Arduino could go on the fritz at any time.

No Nonsense
  • 1
  • 2
  • 8
  • 21
My Other Head
  • 1,506
  • 10
  • 30
  • Thanks for your answer. What do you mean by potting it ? –  May 02 '16 at 06:07
  • 3
    You can insert a circuit board into a box and then fill the entire box with e.g. epoxy. This makes the circuit board more resistant to vibration. https://en.wikipedia.org/wiki/Potting_%28electronics%29 – Hobbes May 02 '16 at 07:38
3

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.

Uwe
  • 1,714
  • 8
  • 11
2

This is something I've been looking into as well. Here's my idea:

Use ATMEGA328 (or ATMEGA16A if durable enough) with triple redundancy, using only thru-hole components on protoboard. As mentioned elsewhere here, use leaded solder. The voting circuit for each digital output can be built with 4 logic gates. An error counter and watchdog circuit to reset a misbehaving CPU can be built from discrete logic chips as well. 4000 series are what I'm looking at at the moment. Add optoisolators where they make sense. Copper tape on the top and bottom of every chip might help a bit.

Conformal coat the whole board when done. Add thin steel RF shielding over the most sensitive components. Use potting epoxy under the shielding. There is some new research (sorry I don't have a link) that suggests rust might help to deflect certain unwanted particles, so if this inner shielding is rusty, that might help. The shielding should be connected to common ground with some sort of protection against sudden spikes.

Put the whole thing in a milled/cast aluminium project box with walls at least ⅛" thick. Connections to the outside should use GX aviation connectors. Keep the steel and aluminium from touching by using copper or brass. Exactly how depends on how you made the hole and how much space is around it. Fill the entire box with potting material. Sand down the mating surfaces of the box and lid for good contact, screw it down, and seal the seam with conductive tape.

It might be a bit heavier than you would like, but all of these methods together give it a fighting chance of surviving.

Edit:

  • If something is really mission-critical, use mechanical relays instead of MOSFETs.
  • Avoid electrolytic capacitors like the plague. Also avoid polyester and nylon film capacitors. Monolithic ceramic capacitors are 'good enough' but generally try to use as few capacitors as possible.
D K
  • 21
  • 2
  • 1/8" Al filters only very little roentgen/gamma. – peterh Aug 22 '20 at 08:27
  • I suspect that PCB material, conformal coat and potting should be "space grade" (do not emanate gases in vacuum and under solar thermal radiation). About non-RoHS soldering already mentioned. It looks like someone who have such technologies does not need to use ATmega328-like MCUs. And majority gates still are "point of failure" themselves but this is looks unevitable. – Peter Nazarenko Aug 25 '20 at 13:09