I work at LeafLabs, we are responsible for a 72MHz, open/libre licensed, ARM microcontroller platform called Maple.
The header spacing issue on Arduino was really a gaff! We actually provide a 1/10" compatible secondary header as a rough-fix on Maple. We get tons of use out of this!
Maple line boards are based on the 32-bit ARM Cortex M3 processor core. These low power procs don't have MMUs, so unlike ARM9, there is no hard linux (there is uClinux though).
Maple originally forked the Arduino IDE, and ported most of the Arduino libraries over to ARM. Our build environment also works from the command line via make, arm-gcc, etc. Check everything codewise out at github.com/leaflabs
mBed is another great Cortex M3 platform, here are some differences between mBed and Maple: - mBed is a bit faster at 96MHz, and uses a processor from NXP, leaflabs uses a 72MHz processor from ST (stm32 series) that can actually be overclocked to 120MHz (not recommended ;)
- the LeafLabs build environment runs on your local machine, everything is MIT/LGPL licensed, and can be used with an Arduino-like IDE. The hardware is all creative commons licensed. mBed has a great development IDE, but it is a webapp and compilation happens remotely. I dont know how much of toolchain/libs/hardware on mBed is libre or even open source.
- Maple comes in 3 form factors, Arduino compatible, bread-board sized (maple-mini), and a beefier version (Maple Native).
- mBed has a secondary microcontroller onboard to handle programming, meaning user programs have 100% control of the main MCU (no bootloader or anything else running in the background). Maple has an onboard bootloader and a USB->serial driver running in the background.
(note, mBed has a 60MHz arm 7 board available now too)
As compared to Atmel's 8-bit MCUs, what are the downsides to the STM32 for most applications, if any? Obviously there's the packaging ...
Thanks!
EDIT: sorry I was under the impression the hardware spec was open source, I guess I'm wrong.