I recently purchased a Pimoroni Enviro indoor climate sensor and am currently going through the motions of getting it setup. I connected it directly onto the GPIO header of my Raspberry Pi 3 B+ and installed the required libraries as laid out in the getting started guide.
The lcd.py example works great, I’m able to display new messages through code. However, weather.py (and others) throw a RuntimeError where they can’t find bme280 on 0x76.
Running i2cdetect -y 1 shows that no addresses respond when probed across the board:
I’m going to avoid wiping the image just to see if it works, as it’s not a guarantee and doesn’t help anyone running into the same problem in the future.
If you have a spare SD Card its not a big deal. Anytime I’ve had a hardware i2c issue i2c detect takes a very long time to run, and reports all addresses. In those cases I had a short to ground on SDA or SCL. Sloppy soldering usually.
I only have one MicroSD card, and have other projects that run on the current one so I’d like to avoid going through that process just to not know what the issue was.
Yes, along with smi. I’ve also tried to disable and re-enable it a few times, to no luck.
Have to ask just to be sure, Enviro firmly attached to the GPIO header, correct way around?
I couldn’t find any images for reference with the larger Pis, but it’s so that the Enviro is directly over the raspberry Pi. I assume that it’s the correct way since the LCD works as expected.
Were any of your other projects using UART or something that may have used the i2c pins for something else?
I’ve only ever used GPIO pins 1 and 4 on this Pi for a little 5V brush-motor fan which cooled the fan.
I also have a much older Raspberry Pi model 1 but unfortunately it only has 26 pins.
It occurred to me after I posted that if SPI was working it must be on the correct way round.
If you have heatsinks on that Pi make sure they aren’t touching the back side of the Enviro board.
I’m looking at some photos of the Raspberry Pi zero and it doesn’t have the same PoE header that my Pi has, but that still doesn’t seem like something that would entire block I2C from not working on the 3B+, unless that mm is what makes all the difference. Since the LCD works, this doesn’t seem to be the problem.
I don’t think that’s the issue. I ask the “firmly attached” question because believe it or not, there are a few new to Pi etc, that don’t know it has to be pressed on. They just rest it on top, pins touching, but not inserted etc. 1/3 or 1/4 of the way on and it will work. Might want to actually raise it a little bit so the POE pins aren’t touching the back side of the Enviro.
Yeah, Pi Zero doesn’t have the POE header, as it doesn’t have an Ethernet Jack onboard.
The Enviro should work with any Pi with a 40 pin GPIO header.