One of the best decisions we made was basing our autopilot system on Arduino (credit goes to Jordi for spotting its potential so early and selling me on it). The engineers all sniffed at it, complaining that it was just an 8-bit processor running at 16Mhz and could never compete with 32-bit ARM processors running at 70Mhz and faster. But what Jordi spotted was something more: the Atmel chips are RISC processors and very effecient, an autopilot is not actually a very computationally intensive task, and most importantly, it's not about "feeds and speeds", it's about community, which Arduino attracts by being cheap, open and very easy to use.
Arduino has won the community competition hands down. The chart above is from the latest status post, and it shows more than 750,000 monthly vistors to the website and nearly 5 million monthly page views. These figures continue to grow at 100% per year.
Community brings tens of thousands of smart people around a platform, and many hands make light work. The amount of code and libraries out there that can be used for free are staggering and there's little need to reinvent the wheel. What basing the ArduPilot line on Arduino has meant is that we're not just using a great technology platform; we're part of a movement. That means not just great tools and thousands of available developers, but also a "cool factor", that really helps with marketing and adoption. In short, the success of the Arduino revolution is thrilling to watch, not least because it means we've hitched our wagon to the right horse!
Comments
Exactly this is why I was amazed abotu some other autopilot claiming 140MIPS? then extra 140 MIPS for another processor just fo rthe IMU? this is something like 280.
AVR 16MHz is around 14-15.5 MIPS I estimate. So you can have as many MIPS as you want. You can have also MS Word opened on quad core 4GHz machine - the programmers become careless so easily, no matter how much you have, any processing power can be wasted easily.
Space shuttle is maybe 8x motorola 68000. But with less redundance, you could fly space shuttle on 2-3 atmegas.
1 atmega should be enough for anything less than cruise missile, if you got Engineers.
Most autopilots are RABBIT3000 which is only overmegahertzed Zilog80 with extra peripherals.
Note that you can use Arduino without having to use their simple IDE. The APM dev team mostly uses Eclipse and other pro-quality dev tools, and most of the code is C++, not C. But it's all still Arduino-compatible, so even newcomers can work with it in the basic Arduino framework.
That said, Arduino is now extending to ARM and we are, too, thanks to the work of Roberto Navoni and others. But because we started with an easy-to-use computing platform that was more capable that it looked at first glance, we feel we were able to get critical mass easier and sooner, which will help us navigate the more complex migration to 32 bits and RTOSs with a lot of momentum achieved already.
Happy to see the trend going sky high on that chart, and agree on all points you mentioned and glad you noticed the potential so we can enjoy APM today.
However, I would like to see Arduino also offering more powerful platforms (as ARM) as mainstream,
not just as niche solution as Maple and similar.