Facing I2C issues while using arduino nano 33 ble and integrating with the MAX30205 temperature sensor, BME680 sensor, max30102 pulse oximeter sensor


we were working on integrating arduino nano ble 33 with the 3 sensors, bme680, max30102, max30205.

when using arduino uno it is working well with the two sensors(max30102, max30205) in I2C and bme in SPI, it is working perfectly fine but when shifting to the arduino nano 33 ble sense, (nordic processor) some issues are observed but still the problem exists.


  1. both the sensors are not working simultaeneously. when i scanned the addresses, i am getting two address but not constant, one of the sensor address is disappearing and appearing, its not constant.
  2. when i have used three sensors in i2c interface mode, 3 sensors are not getting detected.

There is no problem with the sensors seperately i checked, working fine. but integration is not working in nano 33, same code is working in arduino uno.
using at 400khz, without pullup resistors.

why the sensors are not completely connected ? is there anything other than wire library i should use for nano 33 as it is nordic chip. Can you help in solving this issue.

Try with external pullups on sda/scl. In the uno, the wire library is using INPUT_PULLUP which applies weak pullups but that is not the situation in Wire.h for the Nano 33 BLE.

Thank you, I will try with the external pull up resistors with the 4.7kohms. thank you for your immediate reply.

Can you give links to all the modules that you use ?
Can you show a photo with the wires ?
Start with the default of 100kHz, can you show your sketch ?

Hi , I actually tried with 4.7k and other resistors ranging from 2k to 10k, I haven't seen any change.

Hi Koepel,

sorry for late reply, I have integrated two sensors in i2c and one in SPI. Unfortunately I didn't get time to reassemble so I have connected as block diagram. I tried with 100kHz too.

  1. https://datasheets.maximintegrated.com/en/ds/MAX30102.pdf
  2. https://datasheets.maximintegrated.com/en/ds/MAX30205.pdf
  3. bme680 sensor.

There is no problem with the sensors seperately i checked, working fine. but integration is not working in nano 33

Are you saying that either of the two individual sensors works fine on the nano 33, but if more than one is put on the i2c bus they fail?

yes exactly, when i try to check the addresses it fails to show both addresses of two sensors, instead only one address is getting.

Hi there Yashwanth, I am working on a school project attempting to collect data from the max30102 and I am trying to use the code that Maxim provides. I am also using the nano 33 BLE. I am having a lot of issues with the AVR library. Did you run into any issues with this library? It seems as if this entire library is for a different set of chips. Would it possible to post this code on github?

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