🌵 Indoor WiFi-connected temperature and humidity sensor 🍶

power LiPO
wireless WiFi
sensor Humidity
mcu ESP8266
battery life 1 month
bom items 36
bom cost USD $26.92
vendors 5
completed May 2019



  • Read humidity and temperature values from the sensor Si7021
  • Read LiPo battery levels
  • Display the current humidity value through the on-board LEDs
  • Wakeup every 6 hours or on button press to read the sensor and send data to the cloud
  • Sleep after sending data to IFTTT
  • Check for stored WiFi credentials upon waking up and connect back to the store WiFi
  • Connect to WiFi with the stored credentials
  • Setup an AP mode if WiFi cannot be connected
  • Send sensor and battery values to IFTTT if WiFi is connected
  • Wait for 5 minutes in AP mode is WiFi is not connected
  • Sleep after waiting for 5 minutes in AP mode
  • Charge the LiPo by plugging in the USB cable into the battery shield

Getting Started

Step 1

Setup an IFTTT webhook to receive a POST request with data and add a row to a Google Spreadsheet.

Step 2

Access Point

Connect to the WiFi access point Cactus {UNIQUE_MAC_ADDRESS}.

Go to the web page http://cactus.local to fill in the WiFi credentials and IFTTT webhook key.

Access point

Webpage form

Step 3

Update Google Sheets with the data

Press on-board button or wait for the Google Sheet to update with a new row with a periodic update to the cloud.

Google sheets


⚠️ USB Connectors on WeMos D1 Mini vs WeMos battery shield

  • Do not plug in the USB cable on WeMos D1 Mini while the battery shield is on the PCB
  • Flashing firmware: Remove the battery shield from the PCB and use the USB cable on the WeMos D1 mini

Charge the LiPo by plugging in the USB cable into the battery shield