I thougth Sprintf was nice and easy , but it drives me crazy

Super simple function, trying to run it on a Mega.

char data[100];

float F = 3.14;

sprintf(data, " Mot %u: RawCurr:%.1f Amps:%.1f Speed:%.1f dps/LSB ", 10, F, F, F );
Serial.println(data);

When I look on the Serial monitor, the integer prints out fine, but the float wont print out

I get:
Mot 10: RawCurr:? Amps:? Speed:? dps/LSB

Its probably something really stupid on my side....

Please help
Thanks

Not your fault - float handling in sprintf is disabled to save memory.

Use dtostrf, or print/println