I want to connect multiple (up to 4) MAX30100 or MAX30102 oximeter sensors to an Arduino via I2c. But I could not find a solution to change/assign the I2C address.


datasheet MAX30100

  • 1
    it appears that the slave address is fixed, as per page 24 of the linked document ...... there is a typo in the document that refers to Table 18 ..... it probably should say Table 17 – jsotola Mar 3 '19 at 18:21
  • 1
    maybe the address register is undocumented ..... try reading all 128 registers ..... see if one of them contains the value AE – jsotola Mar 3 '19 at 18:28

LTC4316 is what you need. I haven't used it yet, but I know it from a project that did: mocap. It is an I2C translator IC.

Of course, if you need those ICs to be far away from each other, use a uC (or a separate Arduino) with all of those, and connect them with a different protocol!

| improve this answer | |
  • Good suggestion. (voted). I did not know that such chips existed. (Note that the data sheet I found online (analog.com/en/products/ltc4316.html#product-overview) says "At least one model within this product family is in production and available for purchase. The product is appropriate for new designs but newer alternatives may exist." Thus there might be newer chips that serve the same purpose and are likely to be available longer-term. – Duncan C Mar 3 '19 at 21:17
  • And that chip appears to be surface-mounted. I'm not equipped to do surface-mount soldering. I did find this option on SparkFun: adafruit.com/product/… – Duncan C Mar 3 '19 at 21:21
  • @Duncan C: MAX30100 is surface-mounted as well, so that's hardly a problem for OP. But thanks for the suggestion anyway! I haven't used it yet, I'm only familiar with this chip because I've read the above project. (I had to look for that mocap site to get the precise IC type.) – Nyos Mar 3 '19 at 21:28

Nyos's suggestion of an I2C address translator is the ticket. I hadn't heard of these chips before, so I started searching. I found that the one they recommended may be being phased out. It also looks like it's surface-mounted. I found a TI data sheet that lists a DIP package chip TCA9548APW that lets you map up to 8 I2C devices to different addresses. You might want to check those out as an alternative.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.