About

WeMos Temp Sensors

Hardware:

This project was started by my desire to find out what the actual temperatures were for my baseboard heaters at the “Low - Med - High” settings.

Initially I was measuring at a location with a power outlet so I was able to just use a USB adapter for power. The second location I wanted to monitor was a utility closet in my garage that didn’t have an outlet so I needed to come up with another option. I knew that the WeMos module had sleep modes but it wasn’t something that I had ever implemented before.

In my case I was going to be running on batteries so I wanted an absolute minimum of power consumption while the WeMos was idle. The deep sleep mode was perfect as I didn’t need any sort of wifi or CPU function other than a wake up trigger from the real time clock (RTC). This is amazingly simple in code:

ESP.deepSleep(sleep_delay * 1000000); // microseconds

On the hardware side all I needed to do was connect pin D0 to RST. The RTC sends a pulse on D0 when the timer expires and triggers a reset of the controller. At that point it starts the normal boot cycle and runs any code as usual. For this project I set it up to connect to wifi, take a temperature reading, send it to the server, and then go back to sleep for another 15 minutes.

The orange jumper wire is the reset trigger, running from D0 to RST.
I’m using a dual base module as it provides an easy way to mount the WeMos to the battery pack with double-sided tape.
3 x AA battery pack wired into the 5v and ground pins on the WeMos module. It works fine for the minimal current draw I need for the WeMos itself plus the DHT22 temp sensor. The device stops working when the batteries get down to around 3.5v or so.