Heltec V3 and Grove SHT31 Compatibility

I’m playing with a Heltec V3 and would like to add a temp/humidity sensor to the board. I’ve got a few old Grove SHT31 boards so thought I’d try to get one to talk to the V3 using I2C.

The Grove board is supposed to run on either 3.3 or 5 volts, with the SDA and SCL I/O running at the connected VCC. I’m using 3.3 volts because that’s the logic level the V3 board apparently uses.
I connected the power no issues and can measure power on the SHT31 board. I put SDA to the V3 pin marked 41 and SCL to 42, based on a couple of pages I found on the web. I enabled the environmental metrics module in the Telemetry Config page and also set on-screen to enable as well.

However, no joy. The screen says ‘ENVIRONMENTAL No Measurement’.

So I tried another Grove SHT31 board, but no change.

So I’m thinking 41 and 42 are either not the correct I2C pins or there’s maybe another setting somewhere that I’m not aware of. The Meshtastic Environmental page includes the SHT31 as compatible, so unless there’s an issue with how the Grove board presents the I2C, I’m at a loss. The sensors were apparently working fine on an old LinkIt Smart 7688 board for years.

Any ideas?

Well, I’ve apparently solved my own problem. For the benefit of anyone else with this issue, I dug around for new firmware and found a new one was released about a day after I got this board and configured it. The bug fixes include a hung I2C scan problem. Since my SHT31 is now reporting properly, I’m going to assume I was seeing that bug.

What are the odds a new version would be released the next day?? LOL

Thanks to the bug squashers for smashing this one.

1 Like

VERY cool!

I have an SHT30 (using a custom made SMD circuit board) connected to a Heltec V3 and I had to solder two header pins to the bottom of the Heltec board in order to access the i2c bus on pins 17 and 18 (the same i2c bus as the OLED display. SCL goes to pin 18 and SDA goes to pin 17. Fortunately, the SHT30 does NOT interfere with the OLED display so they can share the bus just fine! I noticed if I connected my voltmeter to either of these pins, the OLED display would go wonky!

If I can get it to work with pin 41 as SDA and pin 42 as SCL. That would be awesome! No more surface mount soldering!

What version are you running that solved the problem?

I can’t recall what version I had running, but likely the one exactly before what I have now. I believe the current version that fixed the issue is 2.3.2. I don’t know enough about I2C to know for sure, but I’m going to guess that the SHT30 isn’t too far from the SHT31, so if it uses the same 0x44 address, it’s likely to work. Just remember to dig into the telemetry settings to ensure the board scans those pins for your sensor.

The headers are too much of a nuisance for me, so I just solder to the appropriate locations directly. The board still fits in a small box that way.