The big draw to the Arduino platform is;
1. The compiler is free and open source. Which doesn't really mean much unless you just want a free compiler or you can modify the open source compiler to meet your own specific needs.
2. The board design is free and open source. This part is cool, but only if you use the Atmel controller.
3. The required parts for a working embedded control system are very cheap. Again, very cool, but only if you use the Atmel controller.
4. A HUGE number of pre-built compiler functions are provided for controlling things like servo motors, PWM outputs, A/D inputs, etc, etc, so you write very little code or have to know little about how & why the code actually works.
This is all built-in to the compiler as C functions you simply call to do things. So, in short, you need to know/learn very little to do some fairly complex things..
5. Most educational institutions now prefer to teach C VS BASIC or assembly since this is what the majority of students that graduate and get jobs as embedded programmers will eventually use.
6. The HUGE factor is - they have plug-in shield boards with pretty much everything from A-Z hardware-wise, and code for each board you simply cut & paste to make the whole 9-yards work. So even with zero experience in embedded programming, you can easily build some fairly sophisticated embedded control sytems.
7. They regularly update the compiler with new pre-built functions to control new shield boards as they become available.
So the casual user, with pretty much zero experience in embedded control systems, can create some pretty cool stuff without the normal learning curve, and they don't even need to know how to read or interpret data sheets for the sophisticated peripherals they are interfacing to the embedded control system.
They took the Parallax BASIC Stamp approach and blew it out of the water, with a faster processor and a TON of people developing new shield interface boards, and C functions to control them, which they simply integrate into the compiler at some time.
So they do all the work for everyone.
The only drawback I see with this approach is that once students actually get out there in the job market, they will not be using anything remotely similar to the Arduino C compiler, or have all these nifty built-in C functions, pre-assembled shield boards, etc, so they're pretty much pooched unless the company they end up working for is using an Arduino board/compiler for their products...;o)
Crownhill has a PIC-based board, the Amicus18, which includes a free BASIC compiler, but it's still a ways off from offering everything the Arduino does, and their user base is pretty limited compared to the Arduino.
But I still prefer the Amicus18, or an MeLabs dev board to the Arduino since I prefer to actually learn something VS the cookie-cutter approach.
What happens if you need to use a new sensor, and nobody has developed a new shield or pre-built C functions to use it?
Oops..;o)
Bookmarks