After some time with the Arduino, I faced with insufficient resources, either memory or processing power.
The Arduino Mega might have been an option, but it's based on the ATmega2560 which remains an 8-bit processor. Price comparison was also a factor.
I went for the 32-bit board chipKIT UNO32 designed by Diligent and built around the Microchip® PIC32MX320F128.
Main specifications include 80 Mhz 32-bit MIPS, 128K Flash, 16K SRAM, Arduino™ Uno form factor and 42 available I/Os.
The programming IDE is exactly the same as for the Arduino, except it handles both AVR and PIC32-based environments through the selection of the board. It is called mpide for multi-platform IDE.
Claiming a 100% compatibility with Arduino may seem misleading since an 80 MHz 32-bit platform doesn't act as a 16 MHz 8-bit one.
Find here how to cope with the compatibility issues.
The IDE or integrated development environment is called MPIDE for Multiple Platform IDE. It is compatible with the Wiring / Arduino 23 framework. As Processing-based Wiring-derived, it is platform-agnostic and runs on either Windows, Mac OS X or Linux.
Looking for more features, I designed a template I could use with Xcode: embedXcode.
Three chipKIT Uno32 Customisations
Here are three customisations for the chipUNO32: