The EEPROM is 24AA01?

it is the MPPT 20A,i use 24AA01.but output:EEPROM: Buffer too small or data layout version changed
thank you.

The serial output is maybe a bit misleading, but it should be fine. It means that the EEPROM is still empty. You can wait 6 hours (that’s the interval the charge controller stores the values to EEPROM) or send !exec "SaveSettings" via serial interface to trigger an EEPROM storage manually. After a reset it should then read the stored values from EEPROM.

I wail over 6 hours. After a reset, output:EEPROM:CRC of data not correct, expected 0x725fe5e0 (data_len = 213)
thank you!

If you took the most recent firmware, there might be an issues because I renamed the PCB types according to a new standard. Just found that it wasn’t updated correctly in eeprom.cpp.

Please check if it works if you replace

#ifdef PCB_LS_010

by

#ifdef MPPT_2420_LC_0V10

in line 75 in eeprom.cpp.

If it doesn’t work, can you switch on some of the printf statements in that file and give some more debug information?

And you don’t have to wait 6 hours. Sending the command as described does the same and you see the result immediately.

Take a look at the latest commit. The EEPROM error should be fixed if you populated the PCB with the 24AA32. Unfortunately there is a mismatch between the name in the schematic and the part number in the BOM. If you used the 24AA01, please adjust src/pcbs/mppt_2420_lc_0v10.h.