Can a MIKROE I2C MUX 5 Click Translate/spoof I2C Addresses?

Hi support people,

This is a support call for Sparkfun-supplied MIKROE I2C MUX 5 Click (or similar device) only!

I’m having issues trying to get a brand-new Adafruit Hallowing M4 Orange to work with the Person Sensor (PS) by Useful Sensors via I2C as I believe there is an address conflict. I have set up two test rigs that are identical including the software; one is the Adafruit Hallowing while the other is the Adafruit Huzzah32. The manufacturer’s declared unassignable I2C address of the PS is 0x62 (more on this later). When I run my test code against the Huzzah32 all is well but against the Hallowing it fails to detect the PS.

Huzzah32

My diagnostic routine discovers addresses 0x39, 0x4f, 0x62, and 0x79 from the PS. Needless to say, when the PS is detached from the Huzzah32 the routine correctly does not report any I2C devices attached.

Hallowing M4

As above except that when the PS is detached the address 0x62 is still discovered (but not 0x39, 0x4f, or 0x79) as that appears to be used by an onboard Hallowing component.

As a possible solution to this issue, I was wondering if the MIKROE I2C MUX 5 Click (mux) can spoof or translate the PS address. Architecturally this would be the PS attached to the mux on address 0x62 and then transposing the messages onto 0x70 (example) for connection to the Hallowing. Hence the Hallowing would see a device on 0x70 rather than 0x62. A conventual mux, such as the SparkFun Qwiic Mux, controls the hardware port selection rather than an address translation (hence the Hallowing still sees a device on 0x62).

Any thoughts or suggestions (including any other Sparkfun products)?

Thanks

Try asking on the Mikroe forums https://forum.mikroe.com/ and see what they say

Hi TS-Russell,

Thanks for your time and the link; a specially crafted email will be on the way to Mikroe.

After looking at the datasheet for the ic used on the i2c mux, it doesn’t appear it can translate/spoof or change the address of an attached i2c device.

What it appears to do is let you switch in or out multiple attached i2c sensors one at a time. Kind of like a i2c controlled rotary selector switch that let’s you select 1 of 4 attached devices. Each attached device would keep its original i2c address.

This seems to be useful if you have 4 identical sensors (or multiple different sensors with the same i2c address) and you want to only allow one of them on the bus at a time to prevent address conflicts.

Hi YellowDog,

This is what I feared; unable to translate/spoof I2C addresses. This means that I can’t complete my project as planned unless I create my own device, software, or hardware, or if a similar product exists within our technical realm.