Originally posted by reh321 You touched on a very important point here. I did some embedded programming, but only because an experienced guy like you wasn't immediately available; for example, I programmed part of a prototype for a lab machine that would take a picture {using a camera similar to the one for the Pi} of a piece of filter paper and figure out the best place to punch out a spot of blood for future testing; as a prototype, this had no serious time constraints. Embedded programming is a specialty, so "anyone" {who knows or can learn Python} could do it, but getting good tight code that gets the job done on time might be iffy for someone who has never had to do it before, which is why I was never hired to do it full-time. My guess is that this system would be fun to "play" with, but I wouldn't count on having something that is actually useful.
What I see as important here is that for a few dollars, you can get some pretty reasonable functional hardware, that couples very easily with essentially open source software that is known to just about anyone / everyone. Easy and cheap to promote experimentation with. Designing and building in Python is excellent, pretty easy and fast. Once you have things working, then you can determine the important areas that can be optimized or rehosted or refactored. Very similar to designing algorithms in Matlab, then have it generate the optimized production code. A number of satellite control system have been produced this way.
Actually, some cheap satellites - called cubesats, that are essentially smart phones packaged up in a standard small flight box have been put into orbit, with some specialized sensors (based on the intended application) glued on to the front end. Having a standard hardware package that a lot of folks are familiar with, lots of known software packages / utilities being available (essentially plug and play) is critical to motivating a large group of folks thinking in very innovative ways. That produces new ideas, products and services.