Hi, I actually save my parameters as bytes in the external EEPROM. The “eep.write()” only writes a byte of data. Since 256 possible values for each param is enough for me, I store them as bytes and convert them to floats when I need them.
However, you can still save floats by slicing each of them into four bytes. That’s how I store the IR coefficients for the guitar amp simulator in the EEPROM. This can be done easily with a union:
typedef union{
float fp;
byte bin[4];
} binary_float;
Slice the float fp into four bytes bin[4], and store each of them. Just assemble them back together when you read the EEPROM and you get your float back.
This thread may help: How to Write float in external EEPROM - Programming Questions - Arduino Forum