Share this project

Done

Share this project

Done
$803 pledged of $2,500 goal
backers
$803 pledged of $2,500 goal
backers

About this project

  This project came about as a result of needing more memory for a Arduino Mega2560 project.  I searched the net looking for a quick addon memory shield.  Andy Brown http://andybrown.me.uk/wk/2011/08/28/512kb-sram-expansion-for-the-arduino-mega-design/ designed a 512kb expansion back in 2011. But, He didn't have any left over.

  So I took the knowledge from his projected and added my own.  I created a custom ATMega2560 board with 512KB ram, SDCard, 20x4 LCD(SPI), 5x5 keypad(SPI),  2mb SPI Flash, 64KB SPI Ram, RS232(12v, Full RTS,CTS handshaking), 2xRS485, I2C(2x3.3v, 1x5v),I2C RTCC, I2C EEPROM, this solved my problem.

My 'Kitchen Sink' ATMega2560 custom SBC
My 'Kitchen Sink' ATMega2560 custom SBC

   I thought others might have the need for expanded memory in their Arduino projects.  My "Kitchen Sink" board is probably too specialized for anyone else to want it.  So I took the knowledge from my experience and designed a Arduino Compatible Mega2560 Shield.  Here is my Result:

  • Arduino Mega2560 formfactor (Shortened and Expanded to allow mounting as a Shield or Flipped, which only uses the 18x2 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.

  Memory Map

Memory Pane, memory map
Memory Pane, memory map

 Memory Pane orientations

Memory Pane V.2 Stacked on Arduino Mega2560
Memory Pane V.2 Stacked on Arduino Mega2560
Memory Pane V.2 Flipped on Arduino Mega2560
Memory Pane V.2 Flipped on Arduino Mega2560

Risks and challenges

The design is proven to work, the only risk I can identify is part availability. All of the component parts have multiple vendors so unless a million people want one, we should be good.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support this project

  1. Select this reward

    Pledge $15 or more About $15

    Bare PCB, no components, Parts list included. All components surface mount, sizes: 0603, 0805, SOJ36-400, SO20W, SO16N, SO28W.
    Connectors are 0.100" thru hole.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Reward no longer available

    Pledge $39 or more About $39

    Early Bird Special; First off the bench!
    1 Memory Panes XMEM board, with Arduino Pass-thru connectors

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Reward no longer available 15 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge $49 or more About $49

    1 Memory Panes XMEM board, with Arduino Pass-thru connectors

    Less
    Estimated delivery
    Ships to Anywhere in the world
    1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge $89 or more About $89

    Qty 2 Memory Panes XMEM board, with Arduino Pass-thru connectors, Schematic, Parts list.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 1 backer
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge $125 or more About $125

    qty 10 Bare PCB, no components, Parts list included. All components surface mount, sizes: 0603, 0805, SOJ36-400, SO20W, SO16N, SO28W.
    Connectors are 0.100" thru hole.

    Less
    Estimated delivery
    Ships to Anywhere in the world
    Limited 0 backers
    $
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (45 days)