MLX90621 EEPROM reads 255 for all bytes

I have an MLX90621 array connected to a Teensy 3.6. I am using the programs from robinvanemden as referenced in this forum post:
MLX90620 / MLX90621 - 16X4 pixel IR thermal array - Exhibition / Gallery - Arduino Forum which refers to post #75.

The only change to the program is to change the initialize statement to EXT pullups. The sensor initializes, the scope traces seem correct and I can change things like the refresh rate. However, the readEEprom gives all 255 when printed as does the the pixelDataLow (and High). The IR temps all read "nan."

Does the EEProm have default values for all the bytes?
If not how do I get the needed values for all the coefficients like the k's, alphas, ...?
The data sheet seems completely silent on the origin of these.
Thanks for any help... Gary

A fresh EEPROM usually reads all 0xFF. The ATmega on-chip EEPROM certainly does.

The only change to the program is to change the initialize statement to EXT pullups. The sensor initializes, the scope traces seem correct and I can change things like the refresh rate. However, the readEEprom gives all 255 when printed as does the the pixelDataLow (and High). The IR temps all read “nan.”

That sounds like you’re getting nothing but 1s on the I2C interface. One reason for this can be that you did the wiring wrong. Post a complete wiring diagram, it may be hand-drawn.

Mark, you may be right but then Melexis must have default values somewhere to get it started??? In the data sheet the first step is initialization and the first step there is to read the EEprom. pylon, attached is the wiring diagram. When taking the photo I measured the resistors and they were 470 ohm rather than the 4.7K marked by the supplier package but that should not have killed the sensor as it would still be well below the rated current.

Also attached is the beginning I2C communication. The first step in the datasheet is initialization and the first step there is the slave address followed by the write bit (0) and the ACK (0). Note it is actually a NACK. This is to be followed by a reading of the EEprom. Instead it is the same sequence except the R/W bit is 1 to designate read. This then repeats 32 times.

It appears the sensor is not responding. Maybe I fried the sensor or maybe the code does not work for the T3.6 (robinvanemden wrote it for a T3.1) but I think it is more likely I am doing something wrong.

Any suggestions will be appreciated.

Gary

Here are the two photos I mentioned in the preceding post.

My photos were rejected as security risks but I resolved the problem… I had misread the data sheet and wired SCL and SDA backwards. I apologize for taking your time, but I would never have found the problem without your comments, as the lines on the datasheet image are so tiny they are hard to read and the markings are in the opposite order (that is a meek defense for stupidity).

Mark the EEprom does download now and they are as expected.

Thanks again… I am grateful.

Gary