MCP9600 Breakout(PIM437)

I install library and run

Sometimes I get wrong hot junction temperature 16.0625.
It is far from real temperature. Do you have the same symptom?


I have the same problem - did you solve it?

It looks like the following process works:

  1. Clear register 0x04 - especially bits 6 & 7, the burst complete and Th Update bits.
  2. In a while loop read the temperature until the status register (0x04) reads higher than 0x40. This means the Th has updated, and/or the burst is complete.
  3. Then read the temperatures. I included a test that ignores any temp reading of 16.0625 to be sure they are not logged. This does create a gap between 16.000 and 16.125, but K-type thermocouples (which I am using) are only 1.5C accurate or less, thus I am not too concerned about missing that reading.

I did set the MCP9600 with the following registers:

  • Register 0x05 with 0x00 (K-Type with no filter set)
  • Register 0x06 with 0x1E (0.0625C resolution/18-bit/128 samples burst/burst mode)

The reason is because your i2c bus is too fast, probably the default 100000.

I puty this statement in the dtparam=i2c_arm=on,i2c_arm_baudrate=40000
in this file. “/boot/config.txt” Certainly it needs to be slower than the default for this device.