Humidity Sensor and Weather Tracker

arduino raspberry pi python web react firebase
Visit

A home humidity monitoring system designed to track indoor moisture levels and correlate them with local precipitation. I built this project to verify whether a water leak repair was successful by monitoring humidity in the affected area over time.

Humidity Dashboard

Architecture

The system consists of multiple components working together:

Arduino

Reads temperature and humidity from a DHT-22 sensor and outputs JSON data serially every 5 seconds.

Raspberry Pi

A Python script collects the Arduino data over serial and posts readings to Firestore every 15 minutes.

Firebase

Stores data in Firestore, triggers Cloud Functions for automation, and hosts the React dashboard.

Cloud Functions

Two automated functions trigger on new sensor readings:

  • fetchWeatherConditions - Retrieves current weather data from the Open-Meteo API
  • sendHumidityAlert - Triggers email notifications when humidity exceeds 70%

Dashboard

The dashboard is built with React, Vite, and Tailwind CSS. It displays current readings, weather conditions, and historical humidity-to-precipitation charts to help identify correlations between indoor humidity and outdoor weather.