 
 void print_data(float latitude, float longitude, float speed, float angle, float altitude, float voltage, float current) {
     unsigned long time = millis();
-    sprintf(outputBuffer, "%10d, %12.8f, %12.8f, %8.4f, %8.4f, %8.4f, %8.4f, %8.4f", time, latitude, longitude, speed, angle, altitude, voltage, current);
-    Serial.println(outputBuffer);
+    Serial.print(time);
+    Serial.print(", ");
+    Serial.print(latitude, 12);
+    Serial.print(", ");
+    Serial.print(longitude, 12);
+    Serial.print(", ");
+    Serial.print(speed, 8);
+    Serial.print(", ");
+    Serial.print(angle, 8);
+    Serial.print(", ");
+    Serial.print(altitude, 8);
+    Serial.print(", ");
+    Serial.print(voltage, 8);
+    Serial.print(", ");
+    Serial.println(current, 8);
 }
 
 void print_gps() {

Adafruit_GPS *gps;
uint32_t timer = millis();
File logFile;
char outputBuffer[80];


void setup() {

          return;  // we can fail to parse a sentence in which case we should just wait for another
    }
  
    // If millis() or timer wraps around, we'll just reset it
    if (timer > millis())  timer = millis();

    // Log on an interval
    if (millis() - timer > LOGGING_DELAY) {
        timer = millis(); // reset the timer
        float voltage = 0.0;  // calculated voltage
