sketch too big verify/compiling GPS Data Logger project


You are out of memory on the UNO. The original article appears to be on an Arduino Nano.
You might try it on a Nano.

You are out of memory on the UNO. The original article appears to be on an Arduino Nano.
You might try it on a Nano.

The Nano, with a Nano bootloader, has less available program memory than an UNO. Both use the atmega328, so have identical available memory less the space taken up by the bootloader.

To the OP, can you post a link to where you downloaded the code?



Please provide a link to where you downloaded the sketch from

What board was the original project targeted at?
The UNO doesn’t have enough FLASH memory for your program.
If it was targeted at a different board, that board probably has more than 32K FLASH.

You already have another discussion about this same problem, and have yet to respond to a request of where you downloaded the sketch from. The google results I found easily compiled for an UNO/Nano.

The sketch I got from here compiles fine for Arduino UNO.

Sketch uses 20408 bytes (63%) of program storage space. Maximum is 32256 bytes.
Global variables use 862 bytes (42%) of dynamic memory, leaving 1186 bytes for local variables. Maximum is 2048 bytes.

@tvr4, do not cross-post. Threads merged.


Read the comments under the project, he has someone ask if it will work on a Nano, and the response was yes, but not with the original LCD screen, followed by a link to another webpage with his completed project.


Please do this:

  • (In the Arduino IDE) click File > Preferences
  • Check the box next to "Show verbose output during: > compilation
  • Click “OK”
  • Sketch > Verify/Compile
  • After the compilation fails you’ll see a button on the right side of the orange bar “Copy error messages”. Click that button.
  • In a forum reply here, click on the reply field.
  • Click the </> button on the forum toolbar. This will add the forum’s code tags markup to your reply.
  • Press “Ctrl + V”. This will paste the compilation output between the code tags.
  • Move the cursor outside of the code tags before you add any additional text to your reply.

If the length of the output exceeds the forum’s 9000 character limit, save it in a .txt file and post it here as an attachment. If you click the “Reply” button you’ll see the “Attachments and other options” link that will allow you to make the attachment.

Maybe you want this one:


Color_Data_Logger-COMPILE-ERROR.txt (101 KB)


I’m not sure why the sketch is too large for an UNO, perhaps something has changed in one or more of the libraries since it was written, or the author never tested it properly.

Here is a modified version of the sketch that will compile small enough for an UNO, but without the hardware I cannot say for sure if it will function properly. It can be made a bit smaller if you can write to the SD card using multiple print() statements instead of putting all the data into a single string and printing all at once, but I seem to recall the SD card write operation is a bit faster with a single print()

sauvegarde_sd_modified.ino (8.54 KB)


I asked for the output so I could check which libraries, and which versions of those libraries were in use before investigating. I confirm that I get the same results as you and have the same hypothesis as david_2018 about the cause, but since it looks like you're already getting some excellent assistance, I'll hold off on checking whether using previous library versions makes the sketch compile to a size under the memory limit.