# RuntimeError: Unable to find bme280 on 0x76, IOError

**URL:** https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011
**Category:** Support
**Created:** [July 12, 2025, 6:53pm UTC](https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011 "2025-07-12T18:53:21Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![bacci](https://avatars.discourse-cdn.com/v4/letter/b/34f0e0/32.png) [@bacci](https://forums.pimoroni.com/u/bacci)
#### Post date: [July 12, 2025, 6:53pm UTC](https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011/1 "2025-07-12T18:53:22Z")

</div>

Hello, I recently bought an enviro+ for my pi3.

I installed it on a clean pi, set it up as suggested and then tried some examples from the pimoroni git repo.  
The LCD works fine, but I can’t manage to get any of the other examples working since I get a “Remote I/O error”.

Also, when I run i2cdetect, I get always a different result.

Any suggestions? I’m copying below the output I get from the terminal.  
Thanks!

* * *

```auto
~/enviroplus-python/examples $ python weather.py 2025-07-12 20:42:21.505 INFO weather.py - Print readings from the BME280 weather sensor.

Press Ctrl+C to exit!

Traceback (most recent call last):
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/bme280/ __init__.py", line 215, in setup
    chip = self._bme280.get("CHIP_ID")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 230, in get
    self.read_register(register)
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 183, in read_register
    self.values[register.name] = self._i2c_read(register.address, register.bit_width)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 288, in _i2c_read
    for x in self._i2c.read_i2c_block_data(self._i2c_address, register, bit_width // self._bit_width):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/smbus2/smbus2.py", line 617, in read_i2c_block_data
    ioctl(self.fd, I2C_SMBUS, msg)
OSError: [Errno 121] Remote I/O error

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/bacci88/enviroplus-python/examples/weather.py", line 24, in <module>
    temperature = bme280.get_temperature()
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/bme280/ __init__.py", line 248, in get_temperature
    self.update_sensor()
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/bme280/ __init__.py", line 234, in update_sensor
    self.setup()
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/bme280/ __init__.py", line 219, in setup
    raise RuntimeError("Unable to find bme280 on 0x{:02x}, IOError".format(self._i2c_addr))
RuntimeError: Unable to find bme280 on 0x76, IOError

```

results of i2cdetect

```auto
sudo i2cdetect -y 1
     0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- 1d -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- 43 -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

sudo i2cdetect -y 1
     0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
20: 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
30: -- -- -- -- -- -- -- -- -- -- 3a -- -- 3d -- --
40: -- -- -- -- -- -- -- 47 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- 63 -- 65 -- -- 68 69 -- -- -- -- -- --
70: 70 -- -- 73 -- -- -- 77

sudo i2cdetect -y 1
     0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- 15 -- -- -- -- 1a -- -- 1d -- --
20: -- -- 22 23 24 -- 26 27 -- -- -- -- 2c -- -- --
30: -- -- -- -- -- -- -- -- -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- 6a -- 6c -- -- --
70: -- -- -- -- -- -- -- --

```

---

<div class="post-metadata">

### Author: ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)
#### Post date: [July 12, 2025, 7:46pm UTC](https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011/2 "2025-07-12T19:46:21Z")

</div>

If you haven’t already, I would unplug and then reseat the Enviro+. Shutdown and remove power before doing this. Something is up with the i2c connection? Might even be that the BME280 has failed and is gumming up the works. Try a reconnect first though.

---

<div class="post-metadata">

### Author: ![bacci](https://avatars.discourse-cdn.com/v4/letter/b/34f0e0/32.png) [@bacci](https://forums.pimoroni.com/u/bacci)
#### Post date: [July 13, 2025, 12:00pm UTC](https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011/3 "2025-07-13T12:00:32Z")

</div>

I powered down, removed the enviro+ and then re-inserted it again, but I still get the same behaviour.

The LCD works, but the rest doesn’t.  
Running light.py gives me the same error as for the weather script:

```auto
python light.py
Traceback (most recent call last):
  File "/home/bacci88/enviroplus-python/examples/light.py", line 9, in <module>
    ltr559 = LTR559()
             ^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/ltr559/ __init__.py", line 219, in __init__
    self.part_id = self._ltr559.get('PART_ID')
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 230, in get
    self.read_register(register)
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 183, in read_register
    self.values[register.name] = self._i2c_read(register.address, register.bit_width)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bacci88/.virtualenvs/pimoroni/lib/python3.11/site-packages/i2cdevice/ __init__.py", line 288, in _i2c_read
    for x in self._i2c.read_i2c_block_data(self._i2c_address, register, bit_width // self._bit_width):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/smbus2/smbus2.py", line 617, in read_i2c_block_data
    ioctl(self.fd, I2C_SMBUS, msg)
OSError: [Errno 5] Input/output error

```

---

<div class="post-metadata">

### Author: ![alphanumeric](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/alphanumeric/32/2729_2.png) [@alphanumeric](https://forums.pimoroni.com/u/alphanumeric)
#### Post date: [July 13, 2025, 1:26pm UTC](https://forums.pimoroni.com/t/runtimeerror-unable-to-find-bme280-on-0x76-ioerror/28011/4 "2025-07-13T13:26:11Z")

</div>

Looks like its time to e-mail tech support for a replacement.

> **[Submit a ticket](https://pimoroni.freshdesk.com/support/tickets/new)**
