Electronic – Arduino Mega 2560 like board but with more ram

arduinoledpovram

I am making a POV RGB LED Globe that plays animations on its surface. Currently I am using a Arduino Mega 2560 with 256k of Flash Memory. My program and the boot loader take up 20k of memory leaving me with 236k.

There are 64 RGB LEDs using 8 bits of brightness that change color 64 times a revolution. $\left( 64 \cdot 64 \cdot 3 \cdot 8 \right) \div 1024 = 12\mbox{ kB}$ == 12288 BYTES

Each frame of animation takes up 12288 BYTES (12k) of memory. That only leaves me with 19 Frames of animation. Good but not great, at 10 frames a sec thats only 2 secs of animations. I was hoping for ~64 frames of animation or 768k RAM. (768+20=788k total)

I have tried a few load 'on the fly' and steaming methods (SD, Wireless) but they can't keep up with the data required while streaming the data to the LEDs. I am going to try using a simple compression method next but I don't have high hopes that the system will be able to uncompress the data while steaming the color information out to the LEDs.

I have currently tested 10 frames of animation using the Arduino Mega 2560 and it works. Kind of, there are still some bugs. But I don't really want to switch off an Arduino board if I can help it.

My questions are:

  1. Are there pre-built Arduino boards with more ram?
  2. Can I add RAM to an existing Arduino board?
  3. Suggest a different Dev board thats is VERY similar to the Arduino with a c++ compiler.

Thank you for your time.

Edit:
I am using the "PROGMEM" keyword to store my animations in the Flash memory not the SRAM.
http://www.arduino.cc/playground/Learning/Memory

Best Answer

Try using an I2C SRAM chip.

Maybe a 256 kbit N256S0830HDA @ 3V from AMI fits the bill: http://www.modtronix.com/products/components/ram/n256s0830hda.pdf

See http://arduino_related.livejournal.com/1414.html for a tutorial.