This project consists of one to many weather sensors based on an ESP32 control board running FreeRTOS and several cheap off-the-shelf sensors. Readings from the weather sensors are collected by a light computing device (Raspberry Pi Zero 2 W or Linux PC) and displayed on the local network as well as recorded in a MySQL database to be used for forecasting functions.
- Pin connections for the ESP32 based sensors can be found below.
- Detailed setup instructions for Raspberry Pi can be found here
- Detailed setup instructions for Linux PC can be found here
- Be sure to change the
NetworkNameandNetworkPasswordpalceholders in the Indoor sketch and the Outdoor sketch to match your network.
- Raspberry Pi Zero 2 W or PC running Linux (recommend Ubuntu Server)
- ESP-32 control boards
- BME280 temp / humidity / pressure sensors
- TSL2591 light sensor (outdoor only)
- NEO-6M GPS sensor (outdoor only)
- 0.96 OLED display (optional)
- Project boxes or containers for sensors as desired
- VIN → ESP32 3.3V
- GND → ESP32 GND
- SCL → ESP32 GPIO22
- SDA → ESP32 GPIO21
- CSB → unconnected
- SDO → ESP32 GND
- VIN → ESP32 3.3V
- GND → ESP32 GND
- SCL → ESP32 GPIO22 (shared with BME280)
- SDA → ESP32 GPIO21 (shared with BME280)
- INT → unconnected
- VCC → ESP32 3.3V
- GND → ESP32 GND
- TX → ESP32 GPIO16 (RX2)
- RX → ESP32 GPIO17 (TX2)
- VCC → ESP32 3.3V
- GND → ESP32 GND
- SCL → ESP32 GPIO22 (shared with others)
- SDA → ESP32 GPIO21 (shared with others)