Turning an Arduino Uno in a GPS-tracker with http functionality

Hey guys,

For a project I'm trying to create a GPS-tracker with an Arduino Uno, the Arduino GSM Shield and the Adafruit ultimate GPS-logging shield. So far I've managed to write a few scripts that address parts of the required functionality, however when I add these scripts together I run out of space both memory-wise and ram-wise. Could anyone advise me on how to solve this problem?

The goal of the gps-tracker is to log the gps data and save this on an SD card. The gps data is then read from this file and is being send through a http post request.

I've added the code separately (due to character size limit). It is the combined script that takes roughly 106% storage space and 120% memory space. I've already tried to comment out the serial println statements, to reduce the library size (which I failed at terribly) and I've also tried to build the configuration with an Arduino Mega. With the Arduino Mega however I ran into problems that first I had to connect ports with jumber cables, and that I could not get the code to run properly on it at all. I've also removed the server url due to privacy concerns.

I've added th

code.txt (10.4 KB)

How big can grow the data stored to SD card before they are send? Can't you store them to EEPROM? Then you would don't need the SD library.

PeterrPann:
however when I add these scripts together I run out of space both memory-wise and ram-wise. Could anyone advise me on how to solve this problem?

When passing a string constant to .print() or .println() put the F() macro around the string constant to keep it from using RAM.