For an interesting exercise in Arduino programming, consider the following project by Rafael Ignacio Zurita. With a little research Rafael has managed to use old 30-pin memory modules to increase the amount of RAM available to an Arduino.
Although in theory this seems like a good idea, the Arduino needs to dedicate a fair amount of CPU time to managing the memory, and all the I/O pins are needed to access a maximum of 256KB of memory. However it is a fascinating example and quite educational if you enjoy learning more about how hardware works. A quick run-through is provided in the following video:
For more information, including both Arduino and AVR C code for this modification, visit Rafael's github page. And for more, we're on facebook, Google+, and twitter - so follow us for news and product updates as well.
If you're enjoying working with Arduino projects but find the Uno-sized boards somewhat constricting - it's time to move up to the Freetronics EtherMega:
Quite simple the EtherMega is the fully-loaded Arduino-compatible board on the market today. Apart from being completely Arduino Mega2560-compatible, it includes full Ethernet interface, a microSD card socket, full USB interface, optional Power-over-Ethernet support and still has a circuit prototyping area with extra I2C interface pins. So if your project is breaking the limits, upgrade to the EtherMega today.