I2C problem with Arduino Uno WIFI REV2 - CCS811

In my current setup I use a CCS811 with Uno to measure air quality. CCS811 communicates with the Uno over I2C using the SDL and SCA pins next to the USB cable .

Now I would like to replace my Uno with a Uno Wifi, so that I can send out measurements over MQTT. However the CCS811 does not show up on the I2C bus, with I2CScan I only get a device on address 0x60, but that is not my CCS811.

Any suggestions how to resolve this?



What pull up resisitors are you using? Are there pull ups on the board or are you using internal ones? Do you have an oscilloscope to look at the signals?

Hello Klaus,

Thanks a lot for your reply, it has been a while since I saw an oscilloscipe from nearby, it will take me to next weekend to get one.

The spec sheet of the CCS811 indicates that pull up resistors are integrated. As a test I added 4K7 resistors as pull ups, but same result.

To test further I added a LSM9DS1 on the same I2C bus, and that one works fine with both the Uno and Uno Wifi.

Let me experiment further next weekend.



Hey Lieven,

Dit you manage to solve the issue? I'm having a similar issue.

The CCS811 works, using the Adafruit Library. When I enable the ECCX08 to start working with Wifi / SSL it stops working.

The error code on the sensor (ccs.checkError()) provides a "1" - which, according to the datasheet means:

"The CCS811 received an I2C write request addressed to this station but with invalid register address ID"

So I think there is something funky going on on the I2C bus when you use Wifi. It could be the bus frequency, maybe it's some kind of collision?

-- Wilco

having the same issues. Any solutions found?