Arduino Mega 512K SRAM in shield format

Some time ago now I presented the design, development board and software driver for an add-on to the Arduino Mega that gave it access to 448Kb of additional SRAM arranged in 8 banks of 56Kb.

My design was realised by a compact add-on board that plugged into the relevant block of pins on the end of the Arduino Mega.

Recently I have been in touch with a fellow hacker, Colin Irwin of, who also has an interest in Arduino projects. Colin adapted my design into a full Arduino shield format and was kind enough to send me a kit of parts to evaluate.

Colin’s Design

The bare PCB follows the format for Arduino Mega shields. Colin has made it a little easier to solder straight connectors by adopting the slightly staggered holes popularised by the guys over at Sparkfun.

Building it

I did the build with what is now my usual technique. Firstly I tin the pads on the board with a soldering iron, then I reflow the fine-pitch components using a hot-plate and finally the discrete SMD components are reflowed into place using a hot-air gun. When it’s all done I inspect under a microscope and touch up any joints that look insecure.

Here’s the finished item plugged on top of my Mega 128. The shield completely covers the Arduino and you can only just see the USB port poking out from the side.

As I’m very familiar with the design I wasn’t expecting any problems and it proved just so with the board working first time.


Colin’s design represents a logical step forward from my original design. It feels very solid when built and plugs in firmly to the Arduino underneath. Anyone wanting to find our more or to get their hands on one of these shields should visit Colin’s website at

  • Chuckt

    This is good news.

    I have a question for you. Will the ram keep up with an 84 MHZ Arduino Due in turbo mode? The Arduino Duo uses an ARM chip.

    I posted about your work here:…

    • Andy Brown

      Thanks Chuck. With a 12ns read/write cycle the memory IC would not handle an 84Mhz clock without a wait state, if indeed the external memory interface of Atmel's M3 implementation is 1:1 with the core clock – the M3 device I know (STM32) is not 1:1. The showstopper for this particular SRAM IC though is that its architecture is 8-bit and the external memory interface on the Due is 16-bit.

  • xxxajk

    Too bad it doesn’t pass thru the ICSP connector, which basically renders this shield useless for many things. :-(