Sending Float values to Pachube from Arduino

If you are doing binary transfer, remember that the Arduino 'double' is actually the same as 'float' on other systems, and the AVR is little endian.

From your question however, I assume you are trying to write out the value as a sequence of characters, transmit them via the network, and then the program on the other side will do scanf or similar function to convert the number back to the internal representation used on that system. You can't use the *printf functions by default, since the AVR printf is compiled without floating point support (to save a lot of code space). It looks like the IDE has alternate forms of printf/scanf that include the floating point support, but I don't know how to get those libraries included.

I'm at work right now, but the low level function seems to be: dtostrf: http://www.sourcecodebrowser.com/avr-libc/1.8.0/dtostrf_8c.html

It has the following prototype:

#include <stdlib.h>

char *dtostrf(double value, signed char width, unsigned char prec, char *s);

So I imagine you call it:

const int size = 10;
const int precision = 2;

void print_num (double value)
{
    char buffer[size+1];

    dtostrf (value, size, precision, buffer);
    Serial.println (buffer);
}

You would change Serial.println to whatever you are using to transfer the number.