Serial Communication

I'm glad it worked.

As far as I know the arduino cannot drive a USB as a master, so it will not be able to write to a thumb drive. On the forums there are numerous posts about writing to a SD card, and there is a library for that. I've not tried it.

What I have done with an arduino as a data logger is use hyperterminal on the computer to receive the data from the arduino, and capture that to a file.

As for printing the float with 3 decimal places, this might work:

// prints a float with 3 decimal places
void print_float(float f)
{
  long intpart = (long) f; // get the integer part of number
  long frac 1000.0 * (f - float(intpart)); 
  Serial.print(intpart);
  Serial.print('.');
  Serial.print(frac);
}