There are devices and drivers which require large amounts of SRAM to operate. Some of the largest memory consumers are:

SD Cards

Anything with an SD or Micro-SD interface requires a 512 byte SRAM buffer to communicate with the card.


Each pixel requires just 3 bytes of SRAM to store the color. But those bytes start to add up when you have many meters of strip or a large array.

On an Uno, you might be able to drive as many as 500 pixels - assuming you don't use much SRAM for anything else.

RGB Matrix Displays

Like the pixels, these matrix displays require several bytes of SRAM per pixel.

The 32x32 model requires about 1600 bytes of SRAM. The 16x32 needs around 800 bytes.

Monochrome OLED Displays

These only require 1 byte for every 8 pixels, but due to their high resolution, there are still a lot of pixels!

The 128x64 version requires 1K of SRAM
The 128x32 uses 512 bytes.

ST7565 LCD Displays

Like the monochrome OLEDs, they only need 1 byte for every 8 pixels, but they have a lot of pixels, so they require a 1K buffer.

e-Ink Displays

These high-resolution monochrome displays support some basic drawing modes that do not require in-processor buffering. But to enjoy the full capabilities of the Adafruit GFX library, a SRAM buffer is necessary.

The 2.0" version of this display requires 3K of SRAM, so GFX is only usable with a Mega.

This guide was first published on Aug 02, 2013. It was last updated on Jul 31, 2013.

This page (Large Memory Consumers) was last updated on Jul 31, 2013.

Text editor powered by tinymce.