SCHau mal in die Doku zu der avr-libc, ist bei WinAVR dabei unter

./doc/avr-libc/....
Zitat Zitat von avr-libc, Abschnitt 5.15.4.8
char* dtostre (double val, char * s, unsigned char prec, unsigned char flags)

The dtostre() function converts the double value passed in val into an ASCII representation that will be stored under s. The caller is responsible for providing sufficient storage in s.
Hast du genug Speicher?

double-Routinen sind ziemlich die Hölle für RAM (und Flash)