External Memory plus Parallel Bus Expansion for Arduino / Genuino MEGA 2560 and MEGA ADK

Give your Arduino MEGA the ability to do more! The standard MEGA has only 8,192 bytes of SRAM. This is simply not enough to tap the otherwise powerful capability of the ATMEGA2560 microcontroller. Plugging on our XMEM+ and issuing just a few software commands increases available SRAM by 32KB. Access the SRAM as an array, by pointer, or dynamic memory. Need even more memory? Use the supplied software routines to manage the XMEM+ on-board High-Speed logic for access up to 512KB. In addition, anyone learning and developing parallel circuitry will appreciate the Parallel Expansion Bus. Your off-board circuits become part of the ATMEGA2560 memory space, running at full speed and without the overhead of slow "Bit-Banging"!


  • Stock Number:

  • 100-7699

  • Budgetary Pricing:

  • $54.49 / 1 - 99
  • Contact us for More Quantity Discounts

  • Typical Lead-Time:

  • Stock - 2wks

  • get quote


The XMEM+ is a peripheral board which augments a standard Arduino / Genuino MEGA 2560 or MEGA ADK in two significant ways;

  1. Increases the amount of available SRAM by 512K bytes
  2. Adds true Parallel Bus Expansion capability

On-Board High-Speed logic assures that, except for the nineteen I/O pins dedicated to implement the eXternal MEMory interface, no other Arduino digital I/O signals are used. The external space appears seamlessly within the Arduino memory map and operates at full bus speed (no Wait-States).

512K byte External SRAM

A standard MEGA provides only 8,192 bytes of SRAM which must be divided amongst Stack, Heap, and Data purposes. As an Arduino program grows in complexity available SRAM can quickly dwindle. Low memory problems can be catastrophic and obvious or worse may appear as subtle errors and faulty operation occurring intermittently.

The XMEM+ increases Arduino MEGA SRAM by up to 512K bytes, organized as 16 banks of 32K byte each. The active 32KB bank follows the internal SRAM and resides in the MEGA memory space between addresses 0x2200 and 0xA1FF. All address and bank decoding is done by the On-board High-Speed logic. Simple software commands and routines help manage bank swapping.

The additional SRAM makes the MEGA much better suited and easier to use in applications requiring large amounts of fast memory such as buffering data before writing to an SD Card, servicing network communications, or creating and displaying graphical information.

Parallel Bus Expansion

Connecting parallel devices to a MEGA system has typically been accomplished through some form of "bit-banging" to emulate the necessary steps of Write and Read operations. This technique is less than ideal due to software overhead and reduced throughput.

Expansion Bus Connections

Instead, the XMEM+ provides a fixed 23K byte Expansion Bus for connecting custom parallel type circuitry. Buffered ReaD, WRite, ENable, RESet OUT, 8-bit Data, and 16-bit Address signals are fully accessible for off-board prototyping.

The Expansion Bus is true Arduino MEGA memory space, inherently supporting all AVR software instructions and running at full system speed. Optional Wait-States can be inserted to accommodate slower parallel devices. In addition, the logic voltage for attached user circuitry is jumper selectable to operate at either 3.3V or 5V levels.

Buffered SPI Signals

As an additional benefit, the MOSI and SCK Serial-Peripheral-Interface (SPI a.k.a. ICSP) signals are also routed through buffers. The ability to provide voltage translation between 5V and 3.3V is particularly handy when connecting to modern 3.3V only type SPI devices.


  • Adds 512K byte SRAM to Mega 2560 or MEGA ADK
  • SRAM organized as 16 banks of 32K byte each
  • On-Board High-Speed Logic save digital I/O pins
  • Integrates seamlessly within Arduino memory space
  • Parallel Bus supports 3.3V and 5V off-board circuitry
  • Easy access to DATA, ADDRESS, and CONTROL signals
  • Use fast software instructions, no emulation or "Bit-Banging" necessary
  • Arduino MEGA R3 Stack-Through connector foot print



SRAM:512K bytes total additional SRAM. Organized as 16 Banks of 32K bytes each.
Expansion Bus:23K byte space, Buffered, Jumper selectable 3.3V or 5V external logic levels. Data: D[7:0], Address: A[15:0], Control: WR, RD, EN, Reset-Out
Speed:Supports full MEGA bus speed, typically at a 16MHz system clock. No Wait-States are required but can be added through software to different segments of external memory space.
Digital Logic Levels:Expansion Bus logic voltage is jumper selectable for either 3.3V or 5V
ParameterLogic Vcc = 3.3VLogic Vcc = 5V
"Low" Input Voltage, VIL0.9V Max.1.5V Max.
"High" Input Voltage, VIH2.3V Min., 5V Tolerant3.5V Min.
Output Voltage, Vout0V Min.
3.3V Max.
0V Min.
5V Max.
SPI (ICSP):MOSI - Master-Out-Slave-In, Buffered
MISO - Master-In-Slave-Out, Non-Buffered
SCK - Clock, Buffered
Arduino MEGA Connections:Arduino Mega R3 pattern Stack-through connectors accommodates additional shields. All connections accept 0.025" sq. leads and prototype wires.
Power: 8 Pos. x 1 Row
Analog: 8 Pos x 1 Row (2)
Digital: 8 Pos x 1 Row (2), 10 Pos. x 1 Row, 18 Pos. x 2 Row
ICSP: 3 Pos x 2 Row
Power Requirement:MEGA Supplied, 3.3V and 5V
Dimensions:2.10"W x 4.0"L x 0.75"H overall.
Environmental:Operating Temperature: 0°C to 70°C
Non-Condensing Relative Humidity: 5% to 95%
CA Residents: Warning - Prop 65 Info
Product Origin:Designed, Engineered, and Assembled in U.S.A. by SCIDYNE Corporation using domestic and foreign components.

You may also be interested in these products