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!
~/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
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: -- -- -- -- -- -- -- --