Help with enviro hat

Hi,

My enviro hat (not plus) is working in a weird way.

From the examples folder I can only run lcd.py sucessfully none of the other examples work.

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

running python3 weather-and-light.py I got the following stacktrace

Traceback (most recent call last):
File “weather-and-light.py”, line 340, in
ltr559 = LTR559()
File “/usr/local/lib/python3.7/dist-packages/ltr559-0.1.1-py3.7.egg/ltr559/init.py”, line 218, in init
self.part_id = self._ltr559.get(‘PART_ID’)
File “/usr/local/lib/python3.7/dist-packages/i2cdevice-0.0.7-py3.7.egg/i2cdevice/init.py”, line 230, in get
self.read_register(register)
File “/usr/local/lib/python3.7/dist-packages/i2cdevice-0.0.7-py3.7.egg/i2cdevice/init.py”, line 183, in read_register
self.values[register.name] = self._i2c_read(register.address, register.bit_width)
File “/usr/local/lib/python3.7/dist-packages/i2cdevice-0.0.7-py3.7.egg/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):
OSError: [Errno 121] Remote I/O error

I have installed everything twice on a pi zero and on a pi 4 in a fresh raspbian image, this worked well in the past. IC2 and SPI are on.

any idea what I can do next?

Thank you

If you haven’t already remove and reattach the enviro to the Pi.
Did you solder the header onto the Pi Zero?
Do you have another Pi to test it on?

Something is messed up on i2c that’s for sure. Anything else other than the enviro plugged into the GPIO? Enviro plugged directly onto the Pi, no ribbon cable etc?
The display uses SPI, which is working, which is why the display works.

I have tried on Pi 4 and Pi 0 WH, it’s plugged directly onto the Pi

is there anything I can do to fix i2c problem?

Thank you

Ok, I missed that last bit where you mentioned trying it on a Zero and Pi4. Sorry about that. And I see you have started over with a fresh image, which was going to be my next suggestion. It sounds like its a hardware issue on the Enviro. One of the sensors must have failed? A short to ground on “SDA GPIO 2, physical Pin 3” or “SCL GPIO 3, physical Pin 5” can cause the empty i2cdetct. That’s why I asked if you had soldered the header on the Pi Zero. About all I can think of is to give it a good look over for anything that might be causing a short circuit someplace? A little piece of stray wire, a little blob of solder where it shouldn’t be etc.

thank you, from your answer the only thing I can think of if I set the board upside down in some gpio expander at some stage, I don’t do solder, I there any way to do a board reset? Or I can consider the board lost?

Powering it up with it reverse connected is likely what did it. I would say its toast.