Overview

temperature___humidity_laurel-272961_1920.jpg
From Pixabay: Free for commercial use No attribution required

Depending on your climate (and HVAC system) dried herbs can go moldy. A big cause of mold is too high of humidity. That's the reasons for all those silica gel packets in items you get. If you store a lot of dried herbs or anything that requires a controlled humidity (and/or temperature) environment, this project can help by monitoring the temperature and humidity in a container and warn you if they go out of the desired range.

In a previous guide: Storage Humidity and Temperature Monitor, we built a simple monitoring project. Specifically, for a small jar. It was really simple, using a Trinket M0 to drive it, a SI7021 breakout to take measurements, and a TPL5111 breakout to manage power. The onboard DotStar and a piezo buzzer were used to indicate status. The code was written in C.

That was built in late 2017. Fast forward (at least it seems fast) to February 2019 (a bit over a year later) and it was time to revisit the design.

The SI7021 is a reliable, robust sensor that the author as used in various projects. All we require is temperature and humidity measurements, and the I2C interface is simple to work with. We'll keep that.

In place of a Trinket M0 we'll use a Feather M4 Express. That's a big jump in power, but this board is reasonably priced and is the author's go-to board for most projects. A huge advantage is the onboard battery charging circuit. This will allow the battery to be charged without having to disconnect and remove it. The Feather also has far more I/O pins than the Trinket. This makes possible the next change.

With the Feather, we can do something better for status indication. It was decided to use an eInk display (which uses SPI and 5 digital I/O lines). The 1.54" square 3-color display was selected. An eInk display is a huge benefit on a device like this. It wakes up approximately every hour to take readings, update the display, and possibly raise an alarm. It's not powered the rest of the time. Using eInk provides a persistent display that remains "on" and informative all the time without requiring power. The downside of eInk is that screen refresh is a slow process. But when you only need to update every hour, that's not a problem.

The previous project used the TPL5110 breakout which directly controls power to the circuit. Since the Feather has an enable pin to control power, the TPL5111 breakout is used in this version.

We keep the piezo buzzer as an out-of-range signal, and add a pushbutton switch to provide input for cancelling the alarm as well as entering and exiting edit mode (we'll talk about that later).

Finally, since the Feather M4 was selected, it was made a project goal to write the software in CircuitPython rather than C.

Required Parts

Adafruit Feather M4 Express - Featuring ATSAMD51

PRODUCT ID: 3857
It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox,...
$22.95
IN STOCK

Adafruit 1.54" Tri-Color eInk / ePaper Display with SRAM

PRODUCT ID: 3625
Easy e-paper finally comes to microcontrollers, with this breakout that's designed to make it a breeze to add a tri-color eInk display. Chances are you've seen one of those...
$22.50
IN STOCK

Adafruit TPL5111 Low Power Timer Breakout

PRODUCT ID: 3573
With some development boards, low power usage is an afterthought. Especially when price and usability are the main selling points. So what should you do when it's time to turn...
OUT OF STOCK

Adafruit Si7021 Temperature & Humidity Sensor Breakout Board

PRODUCT ID: 3251
It's summer and you're sweating and your hair's all frizzy and all you really want to know is why the weatherman said this morning that today's relative humidity would...
$8.95
IN STOCK

Lithium Ion Polymer Battery - 3.7v 1200mAh

PRODUCT ID: 258
Lithium ion polymer (also known as 'lipo' or 'lipoly') batteries are thin, light and powerful. The output ranges from 4.2V when completely charged to 3.7V. This battery...
$9.95
IN STOCK

Piezo Buzzer

PRODUCT ID: 160
Piezo buzzers are used for making beeps, tones and alerts. This one is petite but loud! Drive it with 3-30V peak-to-peak square wave. To use, connect one pin to ground (either one) and...
$1.50
IN STOCK

You'll need your choice of SPST momentary pushbutton switch. The one below is a lovely option for breadboarding.

Metal Ball Tactile Button (6mm) x 10 pack

PRODUCT ID: 3347
Add some steely elegance to your project with these Metal Ball Tactile Buttons. They've got a nice industrial shine to them along with a light blue...
$5.95
IN STOCK
1 x Resistor
120K 1/4w resistor
1 x Capacitor
100nF (aka 0.1uF) capacitor
1 x Prototyping perf-board
An assortment of perfboard for prototyping
This guide was first published on Feb 13, 2019. It was last updated on Feb 13, 2019. This page (Overview) was last updated on Nov 22, 2019.