There's a lot of buzz these days about Arduino:
Occasional HASTAC posts mention it in passing:
In a nutshell, it is a platform for embedded system design which has a reputation for being easy to use. While I think the project is neat, I have to ask if Arduino has outlived the purpose for which it was concieved, according to Wikipedia:
Personally I think the project has *limited* applications, but is it wise to be presented as the default "go to device" for designing some type of physical computing embedded system as opposed to other platforms like the PIC? I have the following problems with the Arduino:
1) Very little mass produced hardware is Arduino based. My MIDI to USB converter has a PIC, almost every USB memory stick uses an ARM, my pocket timer uses an 8051.
2) Arduino ultimately seems to be a wrapper for the core functionality of the ATMega168, but in a way it makes it hard to implement features important to a "real" product (for example, putting the processor to sleep to save battery life). Ultimately 90% is very easy but the remaining 10% that separates a good design from a bad one is very hard to do on the Arduino platform.
3) Arduino doesn't actully teach students how to solve "real world" problems. For example, how to make sure your compiler can find the correct headers? How do you port an industry standard library such as zlib? How do you make sure your serial port is actually working?
4) The competition isn't very expensive anymore. It used to be that every other platform has huge startup costs, programmers, compilers, etc. Manufacturers have wisened up to this, however. A PICStart III kit costs $50, and can program almost every chip in Microchip's product line. Likewise they have free versions of their compiler. TI has their launchpad available for $4.30 with free version of their compiler.
5) Arduino encourages overbuilt hardware. Even though it is certainly possible to take the ATMega 168 and run it with a minimum of components, too often the entire Arduino design is simply slapped on some project. Projects with Arduino generally don't consider whether this capacitor or that resistor is necessary which encourages bad engineering.
That is my feeling towards the Arduino platform, what do other people think?