Help with the SHT30-P - Waterproof Humidity and temperature probe

actually i didn’t work properly, the worse is that all last week it reported 100% humidity and the temp was ok… now nothing…

I am thinking about trying to interface it with a adc/i2c to get more precise and better readings maybe, but im unsure how to actually interface it. on the products tag there was this written on it:
SDA:grn/blu vcc:red sck:ylw/wht and gnd:blk as i mentionned earlier in my post, but i have this adc and i am not sure how to interface it with the sensor and my esp32s 38 pin
would i connect the sensor to the adc then the adc to the esp 32 using Dout or something?

thanks again for your help. I am constantly learning new shit and i like it!

had to actually ask the seller for it, he didn’t bother putting it on the website…

Maybe similar to ADS1115 Sensor — ESPHome

ads1118 is the info i have but i do not understand the wiring that i would be doing?
have you looked at the ADC i specified? its got really different pins than the ads1115 so i’m not sure how to connect from the ADC (cjmcu 1x18) to my esp32s, i mean i dont know which pins to use from it to the esp32,is it the Dout ( which i am guessing is a digital out)

I dont find much info

thanks

i’ll tell you what i think:
sensor sda to cs of adc
sensor sck to scl of adc
sensor vcc to vcc
sensor grnd to grnd
adc din to one of the digital gpio of the esp32s.
adc vcc #2 to vcc esp32s
adc grnd#2 to grnd esp32s

does this make sense to you?

thanks

/fab

The devices you have will work together. I mean the esp32 and the sensor. Stop thinking you need to complicate things.

Hi.

The ads1118 and are the same family from texas instrument. But they are using different interfaces.
https://forums.adafruit.com/viewtopic.php?f=8&t=85573
The ads1118 uses spi and the ads1115 uses i2c.
So the library for the ads1115 does not work.
There are library out there to communicate with it but it will require you to write a custom component for that. Which need some programming skill and time.

/Mattias

1 Like

Why do you say this i am complicating things, i just ask which pins i should connect the ads output to… what is complicating things in that question?
I am asking for help because after having tried by myself, i havent been able to make it work, so I come here for help!?

I just dont know where to get the info i need to make them work together, again, im a beginner in programming and HA, I am a digital colourist not a programmer, so i need all the help i can find hence me asking questions!

I am here to learn, so… If you could point me to something so that i can start this process I would gladly appreciate!

i have time but not that many programming skills, if you could help i’would be forever grateful!
If you can’t it’s okay too, i’ll keep my search, i’ll end up learning how to eventually!

You do not need an ADC to use the temp/humidity sensor you want to use

I know that i don’t NEED one, i want to try this because i get bad readings from the sensor, so i want to try something that could get better readings, as it’s written in my initial post :wink:

the sensor reads 99% humidity all the time… the temperature seems ok, but humidity isn’t

Maybe it is broken.

You realise this sensor is sending its values over i2c? Getting an external ADC is not going to make a jot of difference.

I do not fully understand what i2c is or does, i am simply looking for solutions to my problem, i am not a cofder or have nearlyh any coding experience at all, i started with HA 1 year ago and this was my first time really starting to learn some real code. i self teach myself by reading and trying and making mistakes. so… i have no idea what i2c would do appart that the analog readings have way more resolution when used on a ads 1115 or 1118. i am told. but i dont even know why appart that it’s 16 bits…

I really sugest you study some microcontroller tutorials - there are plenty online. I have found this site good, although for a complete learner I am not sure how good it is, see if it suits you https://randomnerdtutorials.com/

This device has an internal ADC which is not available to the user except as a digital signal. I2C is a digital data bus. Getting another ADC device is not going to help, the ADC step is internal.The block diagram in the datasheet here may help explain https://cdn-shop.adafruit.com/product-files/2857/Sensirion_Humidity_SHT3x_Datasheet_digital-767294.pdf

2 Likes

Hi.

I agree with @nickrout that it seems that maybe the humidity part broken. If the digital temperature is working then the digital communications is working then the analog probably not going to solve your problem.

Have you tried to dry it. Maybe it wasn’t as waterproof as they said.

Sorry I cannot answer at short notice. When I work I work and this I do on my spare time when I get some time over.

The i2c is one way communicate digital over 2 wires. You actually don’t need to know exactly how it works if you not going to do your own library.
Usually called the pins sda and scl. They also have an address that define where to get the data. Because you can have several devices on a i2c bus as long as the dont have the same address.

Another way communicating is using spi. It uses more wires 3 or 4.
But it also a way to communicate digital with sensor and other things.

But it sending the data digital as bytes. When it works it works and when it doesn’t it’s usually is hard too know why it’s not.

There is actually very good information on the esphome.

If you want to understand. I suggest to start with an arduino uno and connect sensor to that and use library for the sensors. There are tons of tutorials and resources on internet just a google away.

To give you more background how everything works. maybe that is a way.

/Mattias

I will look at this thanks, i am realising thet the learning curve is quite steep for someone who had never programmed anything his entire life, I had a basic knowledge of html and css but that was it, now i’ve learned quite a few new things in different languages, I started by learning how to use a terminal on my mac then on a raspberry pi2 then 3 then 4… then i started using microcontrollers since about a year now, so this is all still new to me, it’s hard but I want to learn this, especially that i am currently using this as a template for my real grow operation in which I wish to implement it at a later point. so that my old mom doesn’t have to go to the greenhouses so often and have more control over the whole thing.

I am having fun, but sometimes i get to roadblocks like now… i cant figure things by myself… that’s why im here

anyways thanks a bunch, the thing is that the humidity part seems to work okay not perfect but at least not stuck at a single temperature all day. when it’s outside of the ground… ill re, dry and re-wire it, and ill see what’s up.

and it is’nt well documented for this specific sensor, at all… it is for the sht31, but not really much for the sht30 sensor …

:frowning:

1 Like

Were you able to get STH30 up and running? I also have a STH30 with a waterproof housing and unfortunately I was not able to connect to the STH30. My esp32 model is 38 pin https://www.amazon.ae/MELIFE-ESP32-DevKitC-Development-ESP32-WROOM-32U-Arduino/dp/B0811KLGDD , to port 21 I connected SDA and to 22 SDL. My configuration:

esphome:
  name: garaz_esp32_wemos32
  platform: ESP32
  board: esp32dev
  platformio_options: 
    platform: espressif32
    board: az-delivery-devkit-v4
    board_build.mcu: esp32
    board_build.f_cpu: 240000000L
i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true
  id: bus_a
  frequency: 1000 Hz

sensor:
  - platform: sht3xd
    i2c_id: bus_a
    address: 0x44
    temperature:
      name: "sht30 temp"
    humidity:
      name: "sht30 Humidity"
    update_interval: 60s

And log:

[15:55:12][C][sht3xd:019]: Setting up SHT3xD...
[15:55:12][W][i2c:070]: Received NACK on transmit of address 0x44
[15:55:12][E][component:102]: Component sht3xd.sensor was marked as failed.
[15:55:13][C][i2c:028]: I2C Bus:
[15:55:13][C][i2c:029]:   SDA Pin: GPIO21
[15:55:13][C][i2c:030]:   SCL Pin: GPIO22
[15:55:13][C][i2c:031]:   Frequency: 1000 Hz
[15:55:13][I][i2c:033]: Scanning i2c bus for active devices...
[15:55:13][I][i2c:049]: Found no i2c devices!
[15:55:13][C][sht3xd:034]: SHT3xD:
[15:55:13][C][sht3xd:035]:   Address: 0x44
[15:55:13][E][sht3xd:037]: Communication with SHT3xD failed!
[15:55:13][C][sht3xd:039]:   Update Interval: 60.0s
[15:55:13][C][sht3xd:041]:   Temperature 'sht30 temp'
[15:55:13][C][sht3xd:041]:     Device Class: 'temperature'
[15:55:13][C][sht3xd:041]:     State Class: 'measurement'
[15:55:13][C][sht3xd:041]:     Unit of Measurement: '°C'
[15:55:13][C][sht3xd:041]:     Accuracy Decimals: 1
[15:55:13][C][sht3xd:042]:   Humidity 'sht30 Humidity'
[15:55:13][C][sht3xd:042]:     Device Class: 'humidity'
[15:55:13][C][sht3xd:042]:     State Class: 'measurement'
[15:55:13][C][sht3xd:042]:     Unit of Measurement: '%'
[15:55:13][C][sht3xd:042]:     Accuracy Decimals: 1

Have you accidentally swapped sda & scl? Are gnd and power connected? Is 0x44 the correct address? Have tried just scanning.