WiFi Temp+Humidity Sensor

I’ve been getting into quite a bit of fermentation lately. Between garlic honey, sourdough, tepache, ciders, and whatnot, I’ve amassed a bit of a collection of containers fermenting all at once. As the weather changed, I wanted to start keeping track of the temperature and humidity of the area where I’ve been keeping my ferments. What I wanted was a sensor that showed me that information but also logged it on an online server to view away from home.

I did a bit of research and have been wanting to dig into Arduino for a few years but have been a little intimidated by it since my proper coding skills are pretty rusty. I came across a number of similar projects and decided to bite the bullet, order parts, and patchwork them together.

DigiKey is my go-to for electronics parts

Once they all came in, I set to work! The schematics themselves were easy enough to follow and I had a lot of fun trying to decipher exactly why certain components were used like the resistors. With the breadboard setup and a whole spaghetti of wires, it connected and things lit up! In the actual fermentation station, there wasn’t a nearby outlet, so it’s being powered by a spare power bank I have.

Spaghetti!
Spaghetti + Battery!

The next part was coding it so that it communicated properly. Luckily, I have enough of a background in coding that I was able to make the code modifications I needed easily enough and working well enough. With that loaded and linked to Thingspeak, we were recording temperature and humidity straight to the internet! But it still looked like spaghetti.

It functions!

Now it was time to boot up KiCad and design a proper shield and even a display adapter for the LCD screen that included a switch so I could turn off the screen to conserve power. The idea was that I could have a ribbon cable between the Arduino and the display so I could have the sensor inside the area and put the display just outside the fermentation area.

With the schematic from the breadboard, all I needed to do was add a switch between the power lines and that should switch on and off the display. Then I set out to design the PCB and laying out where the components would be and then basically connecting the dots!

Once I was done, I ordered a few prototypes and a the parts I needed to put it all together. It was designed as a single board that I would then just cut into two pieces. In a week, I had it all at my house and got going. For whatever reason, the footprint for the pins that connect to the Arduino ended up being mirrored so that the sensors ended up being inside the Arduino Uno board. Luckily, I was able to salvage the build and it worked great!

The only problem is that the switch doesn’t properly turn off the display, the backlighting remains on when the switch is off. When the switch is turned back on, it just displays garbage info. So that was a bust, but now we know!

The next version of this PCB has the footprints on the correct side and adjusts some of the placement of things at the edge of the board. Otherwise, I’m very happy with how this turned out.

If you’d like see the code, let me know and I can finally get around to upload it to GitHub. I made a few optimizations to the code so it doesn’t upload to the cloud as often and doesn’t update the temperature as often either. The only real reason was to reduce power consumption to extend battery life.