Problem with Adafruit Si7021 sensor

Hi there. I am currently using Adafruit Si7021 sensor for climate control. The temperature readings are correct but I have a problem with relative humidity reading. Everytime when my place is very humid, the humidity will read up to 100% then instead of staying at 100% it will go to 0% then start increasing up to at least 20%.

I have suspicion that when my place is too humid, the sensor will read accurately to 100% but struggles to stay there. I do not have lots of theories on why is this happening. I have tried to look around the internet to try to mitigate the problem if possible but i got no luck.

I am hoping to get help from this forum. Please note this is my first post and if I didn't post according to the rules then I would accept any guidance for future purpose.

TIA.

You probably are seeing condensation somewhere in the circuit if you hit 100% RH - normally for such extreme environments a circuit board would be conformally coated or potted as condensation on unprotected electronics leads to rapid electrolytic corrosion of the PCB traces and failure.

The datasheet for the sensor says that at very high RH it will start to drift, and that the 3% basic accuracy figure only applies upto 80% RH.

Thanks for a reply @MarkT.

I guess the best solution is to get a sensor that can withstand high RH. But in the meantime, is there anyhow that I can trick the sensor in a code to stay at 100% and not read 0% when it's too humid? :thinking:

If there's condensation, you need to address that.

Hi,
Do you have any ventilation around the sensor, you may need to keep a slow air flow over it.

Can you please post picture(s) of how you have the sensor mounted?
Can you please post a circuit diagram?

What environment gets to near 100%, do you hang it out in the rain?

If you are getting 100% readings then it would be constant rain, not damp air.

Thanks.. Tom... :grinning: :+1: :coffee: :australia:

Yes I do have ventilation around the sensor. I am currently away from my place for this holidays so I can't snap some pictures but I do monitor my sensors remotely :grimacing:.

So I have built a closed hydroponic system to grow some plants inside and have the Si7021 sensor hocked up to control the climate inside the system.

I have set the ventilation to start running when RH is between 65% -100%. so it becomes a big problem when the sensor starts to read 0% because the ventilation stop running.
I tried to make a logic flow to instruct the ventilation to come on when the humidity drops to 0% but it is not an ideal solution because the sensor can still struggle to read accurately even though ventilation is on and as a results, the RH can still continue to increase from 0% to, say 20+. That becomes a problem because I do not want to allow the ventilation to be on when the humidity is 20+%

And for this reason i need a way of forcing the sensor to stay at 100% when reached.

Hi,

It sounds like the sensor is not the type for your application, it could possibly be your standard weather type where 100% is reached on occasional times.

If you need to use it, you need to have stronger methods of reducing humidity, if the system triggers at 65%, then you need ventilation to be stronger so it doesn't creep to near 100%.

You may need to measure the outside temp and humidity to check that your ventilation air is suitable to bring the humidity down.

Closed Hydroponic may need to have some permanent external ventilation.
What is the lowest humidity that your plant system would tolerate?

As you have a system that will continually cause humidity to increase, you may need a low level ventilation during adequate humidity, and turn it off at the lower humidity level.
The is you have a two stage ventilation system.

Just a thought.. Tom.... :grinning: :+1: :coffee: :australia:

Certainly this sounds like it is condensation on the sensor itself. Once the hydrophobic sensor is wet, it will not read correctly again until after it dries out. Condensation is caused by by warm moist air crossing a cooler surface and leaving excess moisture on the surface after it cools. (Warm air can hold more moisture than cool air, hence the 'relative' in 'relative humidity'. You have to make sure that the moist warm air does not cross a cooler sensor surface. At very high RH %, that is very difficult. When air moves faster across the sensor, and moisture has already condensed on the sensor, evaporative cooling starts and cools the sensor surface even more, and more air is moving across it. When a big enough droplet forms, the sensor effectively shorts, and 0% can appear until it dries again. The si7021 should have a white screen over the sensing hole in the body. It is to help prevent this condition, it allows humidity in but is not going to stop large amounts or dropping drops of water. If you mistakenly pulled that cover off, or got a sensor without it, that is the problem. Section 4.5 of the datasheet talks about the cover.

That does not mean you cannot use the sensor. you could fashion your own cover. I would think a piece of face mask might work quite well. Be mindful of any adhesives as they too can affect the sensor film. You might also assure the sensor is in the warmest part of the enclosure, and airflow is minimal. Mount it so the hole in the sensor is angled down, and prevent for small droplets of water from accumulating on it it getting in the hole.

Hope this helps, if not, it is just too humid for this sensor. -fab

Thanks for the reply and suggested solutions. Much appreciated.

Yes I quite agree that it is condensation on the sensor and I will certainly implement some hardware improvement when I get back home. But as for now I need a temporary solution as I am not around to implement any hardware changes.

So is there anyhow I can trick the sensor(Using software) to stay at 100% and not read 0% when it struggles to cope with high humidity?

Hi,
Your humidity sensor in the real world will probably never experience real 0%RH.

So if you get a reading of 0%RH you identify that as a fault condition and act accordingly.
ie, keep ventilation going.

Do you have any remote control for your system, if not that will be the best way to control it for the moment.
What controller are you using?

Tom... :grinning: :+1: :coffee: :australia:

Compliments everyone for the new season. I am glad to say I am back to my place and was able to do some hardware improvements. The system works much better now but i still think I need a sensor that can withstand high humidity still. So if anyone has a recommendations then that will be thankful.

Thanks once again for some suggestions and all. Much appreciated :pray:

The white window is Teflon. The white slippery tape you use on taps and threads of pipes.
But you can't glue it :frowning:

You should enable the internal heating of the sensor once it gets over 80-90%RH.

I used a smaller Si7021 (white cover) breakout board in my bathroom (condensing), and covered the whole board/connections with epoxy glue, except for the white window. And enabled internal heating above 80%RH. Working fine for over a year now.

That Adafruit board might be too big to fully cover in epoxy, and those I2C connectors will surely fail soon at high humidity.
Leo..

You also wouldn't have laser cut holes in pipe tape to let in the humidity. :wink: So it is good that you can't glue Teflon pipe tape!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.