esp8266 having two sensors: bme280, sgp30 and display on i2c bus

I have two sensors, bme280 and sgp30, connected to I2C on ESP8266 NodeMCU.
On startup both sensors are detected, but SGP30 periodically gives unstable reading. Both sensors alone are working good with the same code. In additional I have SSD1306 display sitting on the same bus, working ok.
Why SGP30 may give unstable reading in this configuration? Do I need pull-up resistors for i2c if i have 3 slaves?

SergeS:
I have two sensors, bme280 and sgp30, connected to I2C on ESP8266 NodeMCU.
On startup both sensors are detected, but SGP30 periodically gives unstable reading. Both sensors alone are working good with the same code. In additional I have SSD1306 display sitting on the same bus, working ok.
Why SGP30 may give unstable reading in this configuration? Do I need pull-up resistors for i2c if i have 3 slaves?

Have added 4.7K pullups, does not help :frowning:
I see TVOC always give 0ppb reading, eCO2 - 400ppm.
Raw measurements are always failed, both base lines give me 0 reading...

I am using Adafruit library, their library's example give the same result...

What may be wrong?

It would be best to post a Schematic, not a frizzy thing showing all of your power and ground connections. Also include any level translators in the system along with links to the components. With the information you have a voltage level problem.

Ok, got it fixed! Running I2C scanner found out SGP30 is not really detected, although sgp.begin() returns true. Have wiring checked and found Vin were not connected to SGP30. Thank you everybody.

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