Arduino Due (released Oct 22, 2012) Compatibility

Grumpy_Mike:

I think something like the new Microchip pic32 28pin dip parts would be a much better option than
all these ARMs for hobbiests.

The hobbyists market is a total irrelevance for all semiconductor manufacturers, it is just a flee byte in there sales. Even the Arduino has hardly made a blip for Atmel. Massimo said this in his talk to the Open Source conference in 2011.

Obviously.
While irrelevant in terms of revenue, it can be very relevant in terms of mind share as
students that learn/know a particular technology in school might carry that knowledge/familiarity
forward into their real-world jobs, where they will be making product design decisions that will
affect manufacturers revenue.

All that said, I'm guessing that vast majority of Arduino sales go to the hobbyist/educational market
and that was the point I was trying to make. "The Arduino market IS the hobbyist market."
High density pin count surface mount or BGA packages are pretty much non-starters for most DIYers trying
trying to build their own projects. Those types of users are much more likely to
experiment with parts in DIP packages.

My guess is that many current Arduino users would be very happy with a
faster 32 bit processor with more flash and RAM than the mega238 in the same 28 pin DIP package.
Particularly when that part can offer additional features like DMA, USB, 5v tolerant inputs,
and real-time clock all at pretty much the same price point.

If I were a teacher, I'd much rather put more rugged devices into the hands of students
that won't blow up when they accidentally do things like hook up a MCU pin to a 5v sensor.
Having a pic32 based Arduino would offer the chance to use 3v devices or 5v devices
while playing with a 32 bit environment all at the same price point and same ability to move
designs to to a standalone board as the current UNO.
This is something that simply cannot be done with DUE.

For beginners I think it would actually be an easier environment to work with
than the AVR architecture

The whole point of the arduino is that it abstracts the AVR environment out of existence, as does the Due. It is still under the hood if you want it but most do not venture into those parts.

But Arduino doest extract away enough AVR, which is why it is difficult to bring up new processor like the ARM on DUE.
It is missing many things in the core library that are needed for higher level i/o libraries.
It wasn't even until recently that the pin numbers for certain functions like LED, analog pins, etc...
were abstracted on the AVR chips.
And then don't forget the progmem and 8 bit variable issues that have to be dealt with in
user code (sketch). Arduino code is littered with these types of needed optimizations
even in sketch/user-land code.
Things like progmem go completely away when using other non-harvard
architectures and you no longer have to educate users on the s/w complexities of having to
use multiple address spaces. Instead, things like "const" in C/C++ code just work
and you can start to use ints for loops and counters without fear of reduced performance
or increased code size.

My fear is that the DUE product has strayed a bit far away from the hobby and educational markets
that originally made Arduino so popular.

Fear not and just see what happens.

It will be interesting for sure.

--- bill