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 two simple software commands immediately increases SRAM memory to 40KB bytes. Need More? 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 actually become part of the ATMEGA2560 memory space, running at full speed and without the need for "Bit-Banging"!


  • Stock Number:

  • 100-7699

  • Budgetary Pricing:

  • $47.95 / 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 the stack, heap, and data purposes. As an Arduino program grows in complexity available SRAM can be quickly dwindle. Low memory problems can be obvious or worse may appear as subtle errors and faulty operation occurring over time.

Adding the XMEM+ to an Arduino MEGA system immediately increases SRAM space by up to 512K bytes. The additional SRAM is organized as 16 banks of 32K byte each. The active bank is directly accessible within the MEGA memory space, following the internal SRAM, between addresses 0x2200 and 0xA1FF. All address and bank decoding is done by the On-board High-Speed logic and managed by simple software routines. 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

Expansion Bus ConnectionsConnecting 8-bit 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. Instead, the XMEM+ provides a fixed 23K byte Expansion Bus for connecting custom parallel type circuitry. Buffered ReaD, WRite, ENable, RESetOUT, 8-bit Data, and 16-bit Address signals are fully accessible for off-board prototyping. This area is true Arduino MEGA memory space, directly supporting all software instructions and running at full bus speed. Optional Wait-States can be inserted to accommodate slower parallel devices. In addition, the logic voltage for attached user circuitry is jumper selectable as 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 from 5V down to 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 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 to different segments of external memory space via software.
Digital Logic Levels:
ParameterLogic Vcc = 3.3VLogic Vcc = 5V
VIL0.9V Max.1.5V Max.
VIH2.3V Min., 5V Tolerant3.5V Min.
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%
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