RuntimeError: BreakoutMICS6814

I have connected a MISC6814 sensor breakout to a Pico Explorer board. When I run the example code pimoroni-pico/demo.py at main · pimoroni/pimoroni-pico · GitHub, I get the Error: “RuntimeError: BreakoutMICS6814: breakout not found when initialising”

I can scan the I2C bus and get the correct address.

Can anyone help?

/Thomas

Did you change
i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
to
i2c = PimoroniI2C(**PINS_PICO_EXPLORER)
?

Yes.
PINS_BREAKOUT_GARDEN = {“sda”: 4, “scl”: 5}
PINS_PICO_EXPLORER = {“sda”: 20, “scl”: 21}

i2c = PimoroniI2C(**PINS_PICO_EXPLORER)

And the breakout socket works fine with a Rotor Encoder - so no bad connections.

But when I run a I2C scan I get:
Scan i2c bus…
i2c devices found: 1
Decimal address: 24 | Hexa address: 0x18

The address stamped on the sensor is 0x19. So what I wrote in the first post is not correct. So perhaps that is the reason for the malfunction. How to fix that?

Try this
gas = BreakoutMICS6814(i2c,0x18)

Thank you very much. Now it works :-)

Wierd that its using 0x18 instead of 0x19? That breakout doesn’t have an address select jumper? It should stil be usable at 0x18 though.

I cannot see any select jumper.

Think we had a batch of MICS6814 that snuck out with the wrong I2C address, sorry about that!

It’s easy to reprogram the I2C address of Nuvoton based breakouts if you have a Raspberry Pi handy though, you can do:

i2cset -y 1 0x18 0xFE 0x10
i2cset -y 1 0x18 0xFD 0x19

(where 0x18 is the existing address and 0x19 is the address you want to change it to).

Thank you very much :-)