SHT30 not working

I just got my airgradient diy kit assembled. Everything works fine except for the SHT30, temperature and humidity readings are both 0.

All soldered connections are double checked. I tested this by putting one pin of my tester straight on the wemos board and the other on the sda and scl pins on the sht30. vin and gnd is also fine.

What should i try next? Is is possible that i have a Faulty SHT30?
Can i replace this by another sensor, i’ve got multiple dht sensors in my spare parts box :wink:

You cannot use DHT. It needs to be an i2c sensor.
However, I had hardly any SHTs fail. Can you please send pictures of your build (both sides) so that we can have a look. Maybe we can see a problem.

Here are some pictures front and back of the SHT on the airgradient board:

could only paste one image per post, so here is the back:

I just assembled my second airgradient diy kit. Exactly the same problem :confused:
All other sensors and the display work fine.
My guess its not related to the (bad) soldering.

Maybe i am missing or using a wrong library. Is there a precompiled hex file available for testing?

Maybe you can double-check the i2c address of the SHT that you got. On the Arduino library you can install a library called “I2C Scanner by Luis Liamas” and then open the example sketch called “Scanner”. This should give you the address of the SHT and if not it would mean it did not find the sensor at all. The correct address should be 0x44.

I am facing exactly the same issue at the moment. I do not have much soldering experience but a friend of mine looked over my build and also measured the pins with a multimeter and an oscilloscope. Without looking into the exact signals, all of the pins (VCC, ground, SCL, SCA) seemed to be doing roughly what they are supposed to. Nevertheless, I am attaching some photos of my build for you to review.

When I am looking into my ESPHome logs, I see the following related to the SHT:

[20:10:05][C][i2c.arduino:037]: I2C Bus:
[20:10:05][C][i2c.arduino:038]:   SDA Pin: GPIO4
[20:10:05][C][i2c.arduino:039]:   SCL Pin: GPIO5
[20:10:05][C][i2c.arduino:040]:   Frequency: 50000 Hz
[20:10:05][C][i2c.arduino:043]:   Recovery: bus successfully recovered
[20:10:05][I][i2c.arduino:053]: Results from i2c bus scan:
[20:10:05][I][i2c.arduino:059]: Found i2c device at address 0x3C

<...>

[20:10:06][C][sht3xd:034]: SHT3xD:
[20:10:06][C][sht3xd:035]:   Address: 0x44
[20:10:06][E][sht3xd:037]: Communication with SHT3xD failed!
[20:10:06][C][sht3xd:039]:   Update Interval: 30.0s
[20:10:06][C][sht3xd:041]:   Temperature 'Temperature'
[20:10:06][C][sht3xd:041]:     Device Class: 'temperature'
[20:10:06][C][sht3xd:041]:     State Class: 'measurement'
[20:10:06][C][sht3xd:041]:     Unit of Measurement: '°C'
[20:10:06][C][sht3xd:041]:     Accuracy Decimals: 1
[20:10:06][C][sht3xd:042]:   Humidity 'Humidity'
[20:10:06][C][sht3xd:042]:     Device Class: 'humidity'
[20:10:06][C][sht3xd:042]:     State Class: 'measurement'
[20:10:06][C][sht3xd:042]:     Unit of Measurement: '%'
[20:10:06][C][sht3xd:042]:     Accuracy Decimals: 1

So in my (limited) understanding, the D1 Mini does not find the SHT although there is at least are some signal going through the I2C bus according to my friend’s measurements. The I2C device on 0x3C is the display.




Another update from my side.
I tried connecting an sgp30 to the i2c bus. That one gets immediately detected when running an i2c scanner.
The SHT30 is never detected.

Update: I bought another SHT30 on Amazon, connected it via jumper cables to the spare I2C pins and got temp/hum readings. I also double checked every soldering point with a multimeter and did not detect any spots with missing conductivity. I will know for sure if the initial sensor is faulty once I get access to a soldering station again to swap out the old and new sensor. Will post another update by then.

I have exactly the same problem.

I’ve finished soldering my AirGradient this evening with all the parts I’ve received from the DIY Kit. All sensors but the temperature/humidity seem to work; the temperature and humidity just display 0.00 / 0%.

I’ve checked the leads of the sensor with a multimeter and everything is soldered correctly, there are no short circuits and the pins check continuity.

Do I need to buy a new sensor or can this be fixed in the software?

I would argue this is hard to say in general. I have an appointment at our soldering lab tomorrow afternoon so I will be able to say more (about at least my situation) tomorrow.

Maybe an entire batch of SHT sensors is faulty? From the datasheet, I know that there is sort of a batch number on the actual sensor (the little black square on the breakout board) but I don’t have an appropriate magnifier to read the number on my sensor.

We use exactly the same sensor modules in our AirGradient ONE commercial sensor and did not detect any faulty ones in that batch so I do not think that there is an entirely bad batch.

Hello. I have the exact same problem as OP. Additionally, the display looks like its missing a few lines (they don’t light up horizontally). See attached. I have de-soldered and re-soldered the Temp sensor and still doesn’t work. Does anyone have any other solution to this issue?
Otherwise, everything else works well.

That’s what it shows for the temp sensor. I’ve used the scanner in Arduino and couldn’t find any I2C sensor other than the display.

I had the same problem (zero) after i tried to solder the sensor to another PCB. I assume that this is my fault and I just overheated it during soldering. Ordered a new one.

I finally got to solder my replacement sensor to the board and from what I can tell it works nicely now. Luckily, the SHT30 is the easiest to source where I live so it wasn’t a big deal after all.

A new SHT30 sensor also fixed my problem.

Same here, ordered 2 new SHT30’s and now everything is working perfect. :grinning:

Must have been a bad batch…

Same here, ordered a new SHT30 from Amazon (probably spent way too much but I didn’t wanted to wait on Aliexpress). Soldered it on with a bit of wire for having the temperature sensor away from the board and it works as expected.

I must have probably fried the sensor with too much heat during soldering the first time.

I checked around 5 SHT30 from that batch and they all worked for me. One did not work initially and then I resoldered the pins and it started working.