I have 5 MCP9600 units 0x61 to 0x65
These scan on the I2C test program
I can read temperatures of 0x61 to 0x64 using the Adafruit example but I can not detect 0x65.
Would anybody know why?
Probably in the code and schematic you haven’t posted.
I looked, but couldn’t see anything wrong.
Software at
File>Examples>Adafruit MCP9600 library>mcptest
Did you mean "mcp9600_test"?
Did you mean you can change the value in this line:
'#define I2C_ADDRESS (0x67)'
to 0x61, 0x62, 0x63, or 0x64 and the sketch uploads and runs and reports a temperature but when you change it to:
'#define I2C_ADDRESS (0x65)'
the sketch uploads but displays:
'Sensor not found. Check wiring!'
on Serial Monitor?
@RodMcM it should work, so it might be something that is hard to find. For example a damaged sensor or bad soldering. You have to provide a lot more information. Which Arduino board ? I assume a ESP32. Can you show a full schematic that is not scaled down ? Can you show a photo ? You also have to show the sketch (between code-tags) that you actually use and the copied output from the I2C Scanner and the sketch.
Since SCL and SDA are connected to pins marked "22" and "21", I think its an Arduino MEGA.
Its an ESP32 Dev unit
You are correct Johnwasser, I used the common arduino I2C check program and can see 0x65 but when I use the example program I get exactly what you have listed
I also changed the unit out for another one and get exactly the same result
I have used I2C on many projects with this arrangement to clocks/ memory/ MCP23017/Qwiic etc without problems
How did you install all the Adafruit libraries ? Via the Library Manager ? Then you should have the most recent version. If you installed them in a different way, you might have to correct that.
If that does not help, perhaps you can try to change a I2C scanner sketch and try to read the Devide ID of every found I2C device.
There is a very small chance that the sensor behaves weird on the I2C bus. Such things do happen. But it is more likely that there is something wrong with the wiring. Perhaps the other unit still uses the same wires somewhere.
Yes, the library was downloaded via the IDE, I checked for latest update
The attached is a snapshot from the I2C scanner, as you can see there are other items on the link. All of these items operate under their normal test example programs and under the application that I am building. It is only the 0x65 that will not operate in the example or my app.
0x2A is NAU7802
0x57 is 24LC32n
0x61 to 65 are MCP9600
0x68 is ds3231 ( on a ZS-042 module with memory)
Will try to mode I2scanner to read device id...
If you disconnect all of the MPC9600 devices and run the I2C scan does it find something else at address 0x65? That's the only reason I can think of that would cause that one address to fail.
What are you using to set the voltage on the Address pin?
Thanks, will try disconnect( not quite so easy)
I2C addressing via resistors as per MCP9600 manual
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.