So your project has outgrown the Uno and you need something more. There are many options for expansion: There are many Arduino boards with more pins, more memory, more connectivity and/or more computing power compared to the Uno.
But first keep in mind that moving to a processor with more capabilities than the Uno's Atmega 328P comes with some trade-offs in compatibility. Although many of these boards have headers that are laid out to accept standard Arduino shields, the pinouts of all these boards are somewhat different.
SPI, i2c, PWM and Pin change interrupts are on different pins from a standard Arduino. In addition to all that, the Due runs at 3.3v, and many libraries have not yet been ported to support the Due's ARM processor.
So use this guide to help you select a board that will take your project to the next level. But be aware that it may not be 100% "Plug & Play" with all the shields. See our Shield Compatibility Guide for more details.
More Connectivity!The Arduino Ethernet is the simplest way to make your project part of the Internet of Things. As a bonus, it comes with a built-in SD card.
The Megas and the Due mentioned above all have 4 hardware serial ports for efficient communication with serial devices.
The Due, Leonardo, Micro and Flora all have native USB capabilities, so they can emulate keyboards, mice etc.
The Due also supports the CAN bus - popular for automotive applications.
Having trouble fitting your code into Flash? Is you sketch crashing from lack of SRAM?
Either of the Megas will give you 8X the Flash and 4X the SRAM.
A Due has 16X the Flash and 48X the SRAM compared to an Arduino Uno!
More Speed!Almost all the Arduinos are based on 8-bit microcontrollers running at 16MHz. The Megas have more pins and memory, but they won't make your code run any faster.
The Arduino Due is based on a 32-bit ARM processor running at 84MHz. The Due is the clear winner in the speed department.