La forma que yo usaba antes era hacer una uníon de un float con 4 bytes
union fconv_t{
float f;
byte c[4];
};
void Float2Hex(float data){
union fconv_t floatConvert;
floatConvert.f = data;
for(byte i = 0; i < 4; i++){
Serial.print(floatConvert.c[i], HEX);
}
}