BME688 (BME68X) not detected on RP2350 UL2 Enviro+

Hi,

I ordered my Enviro+ and picow 2350 from Pimoroni a couple of weeks ago, and have installed the binary rpi_pico2_w-v1.26.1-micropython.uf2 from the rp2350 github repo.

I can connect via Thonny and write to the screen, but my attempts to read from the bme688 sensor get the RuntimeError “BreakoutBME68X: breakout not found when initialising”.

Example code:
from pimoroni_i2c import PimoroniI2C
from breakout_bme68x import BreakoutBME68X
import time

i2c = PimoroniI2C(sda=4, scl=5)
time.sleep(1) # allow sensor to power up
bme = BreakoutBME68X(i2c)

I’ll note that this code:
from pimoroni_i2c import PimoroniI2C
i2c = PimoroniI2C(sda=4, scl=5)
print([hex(x) for x in i2c.scan()])

gives the output:
[‘0x23’, ‘0x77’]

So it is there… am I using the wrong file or need different paramters?

thanks,

Philip

What test file / code are you using? A link to it would help.
If you click the preformated text button </> if will retain the indents etc.

I would give this one a try,

or even this one that is for the Enviro+ Pack.

Thank you, and apologies for the formatting.

Changing the constructor to add the address parameter was all I needed, so


i2c = PimoroniI2C(sda=4, scl=5)
bme = BreakoutBME68X(i2c, address=0x77)

worked perfectly.

Much appreciated!

1 Like