Chuck Todd has built a Arduino compatible Mega2560 expansion RAM that will enable those using the Arduino platform who need more that 8k RAM in the Arduino processor.
Originally Todd created a “Kitchen Sink” board that was equipped with a custom ATMega2560 board with 512KB ram, SDCard, 20×4 LCD(SPI), 5×5 keypad(SPI), 2mb SPI Flash, 64KB SPI Ram, RS232(12v, Full RTS,CTS handshaking), 2xRS485, I2C(2×3.3v, 1x5v),I2C RTCC and I2C EEPROM.
Although Todd thought this might be “too specialized” for anyone else to want it so created a cut down version and created an Arduino Compatible Mega2560 Shield with the following features:
– Arduino Mega2560 formfactor (Shortened and Expanded to allow mounting as a Shield or Flipped, which only uses the 18×2 end Header).
– Fast memory Access, The selected hardware is fast enough to run full speed, zero additional wait states needed. But since ATMega2560 multiplexes both Data0..7 and Address0..7 on the same 8 pins, there is a performance penalty using external ram as compared to internal ram. Internal ram access (0x0000..0x21FF) is twice as fast as external ram. My library will only move the Heap to external ram, the Stack is always internal to the Arduino Processor.
– 1,024KB RAM accessible as 8KB selectable pages(128) in 6 memory mapped panes(0x4000..0xFFFF). A ‘default’ pane 0x2200..0x3FFF may be assigned one of two 8KB(actually 7,680 byte) pages(Bank0:0, Bank1:0, or None).
– Any of the 128 8KB pages can be accessed through each of the 6 panes. The same page can be accessed in multiple panes simultaneously.
– Each of the 6 panes can access one page at a time, or no page.
– Arduino 1.6.4 library for control: Initialize board, move Heap to expansion ram, assign pages to panes, save and restore pagemap.
– Pins Used Exclusively: P22-P37, P39-P41
– Pins Used Shared: P50-P52
– Pin Used Selectable: P53. Pin 53 is use as SPI_SS by default. There is a cut-able pad and 2x1x0.100″ jumper that can be used to change the SPI Chip Select.
For more information on the new Mega2560 expansion RAM jump over to the Kickstarter website for details and to make a pledge from $39.