ESP32-Based Smart Weather Station with Multiple Sensors and LCD Display
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This document provides a detailed overview of a circuit that integrates various sensors and an ESP32 microcontroller. The circuit is designed to monitor environmental conditions such as rain, soil moisture, air quality, light intensity, temperature, and motion. The data collected from these sensors is displayed on a 16x2 I2C LCD.
Component List
ESP32 (30 pin)
- Description: A powerful microcontroller with built-in Wi-Fi and Bluetooth capabilities.
- Pins: EN, VP, VN, D34, D35, D32, D33, D25, D26, D27, D14, D12, D13, GND, Vin, D23, D22, TX0, RX0, D21, D19, D18, D5, TX2, RX2, D4, D2, D15, 3V3
YL-83 Rain Sensor - Detection Board
- Description: A sensor used to detect the presence of rain.
- Pins: POS, NEG
Rain/Snow Sensor - Board
- Description: A sensor used to detect rain or snow.
- Pins: 1, 2, A0 (Analog), D0 (Digital), GND, VCC (5V)
SparkFun Soil Moisture Sensor
- Description: A sensor used to measure the moisture content in the soil.
- Pins: VCC, GND, SIG
MKE-S09 MQ-135 Air Quality Sensor
- Description: A sensor used to measure air quality.
- Pins: GND, 5V, SIG
LDR
- Description: A light-dependent resistor used to measure light intensity.
- Pins: A0, D0, GND, VCC
DHT11
- Description: A sensor used to measure temperature and humidity.
- Pins: DATA, GND, VCC
PIR/Motion Sensor
- Description: A sensor used to detect motion.
- Pins: GND, OUTPUT, VCC
16x2 I2C LCD
- Description: A 16x2 character LCD with I2C interface.
- Pins: GND, VCC, SDA, SCL
Wiring Details
ESP32 (30 pin)
- GND: Connected to GND of PIR/Motion Sensor, LDR, MKE-S09 MQ-135 Air Quality Sensor, DHT11, Rain/Snow Sensor - Board, SparkFun Soil Moisture Sensor, 16x2 I2C LCD
- 3V3: Connected to VCC of PIR/Motion Sensor, LDR, DHT11, SparkFun Soil Moisture Sensor
- Vin: Connected to VCC (5V) of Rain/Snow Sensor - Board, 16x2 I2C LCD
- RX0: Connected to SIG of MKE-S09 MQ-135 Air Quality Sensor
- D34: Connected to A0 of LDR
- D35: Connected to DATA of DHT11
- D32: Connected to OUTPUT of PIR/Motion Sensor
- D23: Connected to SDA of 16x2 I2C LCD
- D22: Connected to SCL of 16x2 I2C LCD
- TX0: Connected to D0 (Digital) of Rain/Snow Sensor - Board
- D21: Connected to SIG of SparkFun Soil Moisture Sensor
YL-83 Rain Sensor - Detection Board
- POS: Connected to pin 2 of Rain/Snow Sensor - Board
- NEG: Connected to pin 1 of Rain/Snow Sensor - Board
Rain/Snow Sensor - Board
- GND: Connected to GND of ESP32
- VCC (5V): Connected to Vin of ESP32
- D0 (Digital): Connected to TX0 of ESP32
- 1: Connected to NEG of YL-83 Rain Sensor - Detection Board
- 2: Connected to POS of YL-83 Rain Sensor - Detection Board
SparkFun Soil Moisture Sensor
- GND: Connected to GND of ESP32
- VCC: Connected to 3V3 of ESP32
- SIG: Connected to D21 of ESP32
MKE-S09 MQ-135 Air Quality Sensor
- GND: Connected to GND of ESP32
- 5V: Connected to 5V of ESP32
- SIG: Connected to RX0 of ESP32
LDR
- GND: Connected to GND of ESP32
- VCC: Connected to 3V3 of ESP32
- A0: Connected to D34 of ESP32
DHT11
- GND: Connected to GND of ESP32
- VCC: Connected to 3V3 of ESP32
- DATA: Connected to D35 of ESP32
PIR/Motion Sensor
- GND: Connected to GND of ESP32
- VCC: Connected to 3V3 of ESP32
- OUTPUT: Connected to D32 of ESP32
16x2 I2C LCD
- GND: Connected to GND of ESP32
- VCC: Connected to Vin of ESP32
- SDA: Connected to D23 of ESP32
- SCL: Connected to D22 of ESP32
Documented Code
sketch.ino
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
documentation.txt