AirGradient Forum

SHT4x difference between AirGradient One and bare sensor

Hi, I am working on a small project that allows me to control my AC with a ESP32. On the breadboard, I have placed a SHT45 as far as I could to the ESP32, and my AirGradient One next to it, both mounted on my wall. Below picture is my setup. The purple module on the bottom left of the breadboard is the SHT45.

But I found the temperature I am getting from my sensor and the AirGradient is not agreeing as much as I would expect. The blue line in both graphs below are AirGradient One, the yellow would be my sensor.

Temperature:


Humidity:

I think the humidity mostly tracks, but for the temperature, I think it looks a bit weird. Most of the time, AirGradient One is just a touch hotter, but at around 8AM in the graph, it is lower.

I wanted to see if I am doing something wrong, and see if I could improve the measurements (either AirGradient One or my sensor). I am not really sure if this is expected for AirGradient One, or I could mount my sensor better, or I have a bad sensor. Since the AirGradient One have the SHT40 sensor, I would expect them to match a little better?

1 Like

Some more data, I could see some trends happening only on the AirGradient, most obvious is the temperature creeping up in the second graph.

1 Like

Hi @superjeng1, thank you for sharing your project!

Please let me consult this with my team regarding the sensors’ behavior.

Could you please provide us with more details about the room environment where you are monitoring the temperature (e.g., AC runs all the time, fixed-speed or inverter AC, ventilation)?

I hope you don’t mind if I also share my test results below (not a DIY project anyway, just comparing my AirGradient ONE with my Xiaomi LYWSD02MMC and Sonoff SNZB-02). They are located close to each other in my room (a small 20 square meter room, with a fixed-speed AC running from time to time (you can see the crazy humidity fluctuation)). In my case, the temperature readings seem to agree quite well.

Thanks Tai!

The room was cooled by a inverter AC, and I do have a window open across the room.

A little background for this project, the AC I have right now is from my landlord, and I found it not really good at holding the temperature I have set. Set 27C and one day you might get 25, and the other you might get 27C.

The original remote controller has a feature that sends temperature reports to the AC using it’s sensor. So I used this protocol as a PID output of my project to better control the room temperature.

As a result, the yellow line on the graph is pretty consistent, that’s the reason behind it.

The SHT45 module I got is not branded, so I am unsure if this is due to the quality of the module or I messed up the sensor a little when soldering the pins on the module. Maybe even this sensor is not a genuine Sensirion sensor (does fakes exist?)

Also, since we can’t tell which of the SHT4x family the sensor is by looking at them, I am not even sure this is a SHT45, could be a SHT40, who knows right? But even if it’s a SHT40, it should still agree with the AirGradient I think.

1 Like

@superjeng1 thank you for providing the details. I can relate to this situation that landlord’s AC was a pain in the room. I even had to print out my Home Assistant screenshot on paper, comparing temperatures in different spots in my apartment room, just to convince them to replace the problematic AC. (Sorry for complaining too much about my landlord).

Anyway, let’s get back to our topic. I have just had a brief discussion with my team (Altair and Ethan). They suggested that it’s hard to know exactly why the reading significantly differs in your case. There can be several factors, the sensor could even pick up the temperature of the breadboard. Maybe you should try mounting it off the board and see how it behaves.

Ethan suggested that he has an AirGradient ONE kit sitting on his desk without an enclosure, and it always reads a lower temperature since it picks up the relative coolness of his desk.

Altair also added that there should be some prints on Sensirion sensors. Maybe you can check your DIY sensor with a magnifying glass or a microscope to see if there is any text.

Here’s what I see on the AirGradient ONE’s SHT40:

I think the printed text is “SH40” or something similar.

Thanks @Tai_AirGradient for your thoughtful reply!

I have actually been thinking mounting the sensor off the board but was holding off that idea since I thought the sensor should be plenty far from the MCU. I could definitely try it out with a ribbon cable. But I am a little doubtful of how much difference it would make since my sensor is actually reading lower than AirGradient One, rather than higher. (except that one instance at 8AM in the very first graph)

I find Ethan’s comment intriguing as their kit without enclosure measured lower temperatures. I think one thing I could try is to remove the case of my unit and try to compare the readings between the two again. Maybe the enclosure does make that big of a difference? Have the team done some research on this yet?

Regarding of the prints, I have not actually checked mine, and I will check when I got back home later and report back. I thought I saw somewhere that all SHT4x markings were the same, maybe this is incorrect?

Let me check if they have more insights to share with us about the enclosure and the temperature reading.

I think it could be interesting to try separating the breadboard and the sensor with more distance. The idea is that the breadboard’s material itself (not the MCU) may contribute to the lower temperature.

Something I think that can be done in this case to make a head-to-head comparison is to connect extension cables to both the SHT45 module of your DIY unit and the SHT40 module of the AirGradient ONE. With this approach, we should be able to isolate the enclosure and material factors from the experiment. I would like to try this, but I don’t have an SHT45 with me right now.

Regarding the laser mark, I think you are right. They are likely to be the same.

Actually, regarding the marking, you were correct.

I quote the datasheet (Actually the same paragraph you screenshotted.

The last character will indicate the accuracy class of this product (here
“x” serves as place holder).

Your idea of using an extension cable on both units is smart IMO, will definitely try that out.

I have a question about sensor choice for AirGradient One. Why was SHT40 chosen instead of SHT45? Is it because SHT40 is good enough? While researching sensors, I also found the HDC3022 from TI, which had better datasheet specs than the SHT45, but I can’t seem to find a module available so I can’t really try it out.

1 Like

@superjeng1 interesting question! I think our CTO has an answer for this. Let me ask him, and will let you know (likely next week, hope that’s fine).

Also, looking forward to hearing from you about your experiment. Feel free to share with us here anytime.