For many of you, the thought of running out of memory on a modern microcontroller brings forth boasts about working with the extreme limits of yesteryear. However, waxing poetic about historical constraints doesn't change the fact that today's systems have limits that feel just as constraining, even though the numbers are larger. Luckily, some people have put the time and effort into documenting how to expand the memory available to modern development boards.
In this image, you can see a prototype system composed of a teensy 2++ and an expanded RAM module. GitHub user xxxajk has been working very hard to write a reliable library for Arduinos to utilize more RAM. You can follow along with his most recent updates on his GitHub account. The project, xmem2, adds preemptive multitasking and other nice features to the Arduino, but as xxxajk points out, this is not a substitute for a real-time OS.
Here's a quote from his README file: "xmem2's multitasking is not, and should not be considered an 'RTOS'. I'll repeat this again, just to pound it into your skull... xmem2's multitasking is not, and should not be considered an 'RTOS'."
This expansion makes the most sense for RAM-intensive projects such as audio and image processing, as Brian Benchoff points out on Hackaday.
— Caleb Kraft, Chief Community Editor, EE Times