Change adress from MCP9600 connected via I2C to an ESP32

Hello community,

I am currently trying to connect 4 MIKROE-2501 MCP9600 via an I2C to an ESP32 DevKit. Right know i am struggling to give these thermo modules different addresses. I managed to connect 2 board over the I2C with the addresses 0x67 (default) and 0x60. For 0x60 I resoldered the resistor marked in the picture from ADDR-VDD to ADDR-GND.

image

Is it possible for me to assign additional addresses?
In another thread MCP9600 Adafruit Library - #12 by RodMcM it is mentioned that you can get addresses by changing resistors. There is also a resistor table included. Unfortunately I'm not an electronics eng. and I'm not sure if this also works for my modules. Maybe someone can show me in an image which resistors I have to change for getting these addresses?

Thank you in advance for any help

Welcome to the forum.

MIKROE Thermo K Click: https://www.mikroe.com/thermo-k-click.
Microchip MCP9600: https://www.microchip.com/en-us/product/MCP9600, with datasheet.

The ADDR pin can select the address, the table from the datasheet is already in the other topic. It is from page 44 of the datasheet:
afbeelding

Which module do you have ?
The one on the left or the one on the right ?
Is your picture a photo by yourself of the module that you have ?
afbeelding

You have changed a resistor of 0 Ω from one location to the other location.
The middle is the ADDR pin, and you need two resistors in each location.
Using normal resistors or solder a wire is not reliable. I think you need to get a few smd resistors.

Hi

If you look at the table then you can see that the two outer addresses are set by connecting the address to GND and to VCC. This gives you 0x60 and 0x67 as addresses.

The table shows the resistor requirements for the intermediate addresses. 0x61,62,63,64,65,66 These are soldered between ADDR and the VCC and GND terminals
The 2A resistor is between VCC and ADDR and the 2B between ADDR and Ground See Section 6.3.1 of MCP data sheet.

VCC is either from the 5V or 3,3V terminals on the board and has to be the same as the per selection

Rod

Hello Koepel,

thanks for your quick apply. I have the one on the left, i guess i added the wrong image, thanks for correcting me.

In my understanding, when positioning the

  • 0 Ω on the left side, than the addr pin is tied to VDD (in table device 8 --> 0x67)
  • 0 Ω on the right side, than the addr pin is tied to GND (in table device 1 --> 0x60),

So If i want to get one of my modules running on another address, for example device 4 (0x63) on your table, i have to change it like this:

image

You have the correct locations but the resistors are in ohms, not Kohms

even though the table says kΩ?

Sorry, you are dear right!… Brain Fade

It is the other way around.

Can you check with a multimeter that the left pad is GND ?
The right pad is 3.3V.

The 10k resistor is always between ADDR and VDD (3.3V). That is the resistor on the right.
The resistor on the left connects to GND, and that is one of those from 2k2 to 43k.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.