"The memory is the first thing to go."(I don't remember who told me that)
The most obvious sign of a memory problem is when the compiler tells you that your sketch is too big.
But many memory problems show much more subtle symptoms. Your program may load, but not run. It may crash hard, or just start acting funky.
This guide was first published on Aug 02, 2013. It was last
updated on Nov 14, 2018.
This page (You know you have a memory problem when...) was last updated on May 04, 2015.
If your program compiles and loads successfully, but any of the following statements are true, there is a good chance that you have a memory problem.
"My program worked fine until I" (choose one)
- "Included one more library"
- "Added some more LED pixels"
- "Opened a file on the SD card"
- "Initialized a graphical display"
- "Merged in another sketch"
- "Added a new function"
If you think you might have a memory problem, you can skip right to the "Solving Memory Problems" page. But you should first take a look through the next few pages to better understand Arduino memory and how it works.