Arduino Due (released Oct 22, 2012) Compatibility

bperrybap:
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.

One advantage of the relatively simple AVR architecture is that it provides a gentle transition for the beginner to intermediate stage when the programmer needs to (or simply wants to) go beyond what's offered by the Arduino/wiring core libs. Direct port IO for faster/multiple pin manipulation. Managing multiple interrupt handlers. Inline assembly code. On AVR, all pretty easy stuff to get a handle on for the novice ready to move to next step for the AVR chips.

OTOH, the ARM architecture is much more complex. Nested interrupt handlers, anyone? Even porting conceptually straightforward code from the AVR world to the ARM can raise some tricky questions. For example, I ported Dean Camera's ATOMIC BLOCK routines from AVR to ARM, so I could use them on the Maple... which yielded some interesting and curly questions on how to emulate something as conceptually simple as "cli" an a processor like the ARM, where there is potentially a lot of stuff happening in parallel in the silicon.

Anyway, I don't see the one step transition from Arduino to ARM in the same way you can go from Arduino to AVR. If you were teaching the principles of uC programming, you certainly wouldn't start with ARM in any case (or at least, I wouldn't); something like an AVR, 8051 or 6502 architecture and instruction set is far more tractable. I'd introduce ARM only at the sophomore or senior level once the students had passed the intro uC course.

So is the the Due a suitable dev board design for beginners? It might turn out to be OK, but it's certainly far from optimal. OTOH, it may yet turn out to be a white elephant stuck in the netherworld between niches. I agree with Bill that an electrically more robust chip, preferably still in a DIP package (like the Microchip pic32 part Bill mentions), would be much more consistent with what made the first gen Arduinos attractive to neophytes in the first place. (While even MIPS is not exactly ideal as a learning architecture, it's still a hell of a lot simpler than ARM.)

We shall see.