Well, it turns out, there is a reason for this apparent madness! Just for fun, I decided to compare the Curiosity's computer to the Raspberry Pi which I believe is a more fair comparison than the iPhone.
200 Mhz Processor, 256 MB RAM, 2 GB Flash Memory
700 Mhz Processor, 256 MB RAM, 2 GB Flash Memory
(I've high-lighted the difference)
So there you have it! While the Raspberry Pi theoretically could power the Curiosity Mars Rover, and with a higher processor speed, it would do little to put a dent in NASA's budget on this project! And there are a number of reasons why the Curiosity's computer, although a bit under-powered by today's standard home technology, is ideally suited for outer-space!
Radiation, temperature and shock resistance:
Reliability and proven test-worthiness:
- Power requirements:
- Your average phone or home computer uses quite a bit more power than is readily available to a space-craft which must carry it's own source of power for millions of kilometers of flight, and function for many months or even years. Even solar energy collection at that distance requires a design that looks to optimize power consumption. If you don't need it, there is no sense having it. That is why a 200 Mhz processor will be a better choice and sufficient to do the job.
- The chips that we have in our home computers and phones are designed with very small architectures which operate fine within certain temperature ranges and radiation tolerances. Go into outer-space and to the surface of another planet, and you are looking at extreme environmental conditions. Radiation, temperature and shock can all damage chips and therefore the Curiosity's chips must be made especially for space-hardiness. Often this requires a redesign of the chip from the ground-up with different logic circuits and a larger physical architecture (which will reduce the running Mhz speed). Also having less memory, along with these factors, means it is less likely to be damaged or corrupted by the extreme conditions. There is a much smaller production run for these specialized items, making them very expensive.
- There is no reason to have the type of user-interface "embellishments" that we take for granted on our phones and home computers. The Curiosity needs to control itself efficiently and communicate in the most efficient way possible to home base. That means sending commands back and forth often by code, and no need to drive a display or user-interface of any kind, as no Martian is expected to walk up to the Curiosity and use it (even if it did have a touchscreen). Much of the extra code and processing we have here at home is for the graphical user-interface and all the "pretty-fication" to make life easier for us humans to interact with computers. But the Raspberry Pi, with a fraction of the memory of other computers, can still crunch through a Linux shell as fast as the next box without much trouble with only 256 MB of RAM (while most computers have several GB). Also consider that the Curiosity is built for a very specialized task and programmers have spent an enormous effort to optimize the code because of the need to constrain power use, efficiency and size (while here on Earth we are not constrained and simply just upgrade to a new computer on a regular basis, making tons of electronic trash in the process).
- There is no reason for NASA to use the "bleeding-edge" of processor technology because they do not require blazing-fast speeds, or to be stuck with a new product which hasn't been proven through the test of time. Curiosity's computers are much more power-efficient, run optimized code, and suited extremely well to a very focused task. Due to all of the previous requirements mentioned, and need for many years to prepare and test for a mission, technology used by NASA probes may be several years older than what we take for granted carrying in our pockets every day.