ESP8266 NodeMCU Weather Station with Multiple Sensors and SD Card Storage
View and Edit Project In Cirkit Designer
Circuit Documentation
Summary
This project integrates multiple sensors and modules with an ESP8266 NodeMCU to acquire data, store it on an SD card, display it on an OLED screen, and create a web server to show and graph the collected data. The sensors collect data every minute, which is averaged every 5 minutes.
Component List
Micro SD Card Module
- Pins: cs, sck, mosi, miso, vcc, gnd
- Description: Used for data storage.
Adafruit BMP388
- Pins: VCC, 3.3V, GND, SCK/SCL, SDO/ADR, SDI/SDA, CS, INT
- Description: Barometric pressure and temperature sensor.
0.96" OLED
- Pins: GND, VDD, SCK, SDA
- Description: Display module for visualizing data.
Resistor (10k Ohms)
- Pins: pin1, pin2
- Description: Used for various pull-up/pull-down configurations.
Resistor (4.7k Ohms)
- Pins: pin1, pin2
- Description: Used for various pull-up/pull-down configurations.
Resistor (330 Ohms)
- Pins: pin1, pin2
- Description: Used for current limiting.
Resistor (200 Ohms)
- Pins: pin1, pin2
- Description: Used for current limiting.
Zener Diode
- Pins: cathode, anode
- Description: Used for voltage regulation.
TP4056
- Pins: OUT-, B-, B+, OUT+, IN-, IN+
- Description: Lithium battery charger module.
PowerBoost 1000 Basic Pad Terminal
- Pins: VBAT, GND, ENABLE, LBO, 5.0V
- Description: Boost converter for powering the circuit.
DHT22
- Pins: VCC, OUT, GND
- Description: Temperature and humidity sensor.
DS3231 RTC
- Pins: 32K, SQW, SCL, SDA, VCC, GND
- Description: Real-time clock module.
esp8266 NodeMCU
- Pins: D0, D1, D2, D3, D4, 3V3, GND, D5, D6, D7, D8, RX, TX, A0, RSV, SD3, SD2, SD1, CMD, SD0, CLK, EN, RST, VIN
- Description: Main microcontroller for the project.
18650 in holder
- Pins: GND, VCC
- Description: Power source for the circuit.
RAIN SENSOR
- Pins: AO, DO, GRD, VCC
- Description: Digital rain sensor.
Photocell (LDR)
- Pins: pin 0, pin 1
- Description: Light-dependent resistor for measuring light intensity.
Adafruit TSL2591 High Dynamic Range Digital Light Sensor
- Pins: VCC, 3.3V, GND, SCL, SDA, INT
- Description: Light sensor for measuring light intensity.
Adafruit PCF8591
- Pins: VCC, GND, SCL, SDA, OSC, AOUT, AIN3, AIN2, AIN1, AIN0
- Description: Analog-to-digital converter.
Wiring Details
Micro SD Card Module
- cs: Connected to D8 of esp8266 NodeMCU
- sck: Connected to D5 of esp8266 NodeMCU
- mosi: Connected to D7 of esp8266 NodeMCU
- miso: Connected to Zener Diode cathode
- vcc: Connected to 3V3 of esp8266 NodeMCU
- gnd: Connected to GND of esp8266 NodeMCU
Adafruit BMP388
- VCC: Connected to 3V3 of esp8266 NodeMCU
- 3.3V: Connected to 3V3 of esp8266 NodeMCU
- GND: Connected to GND of esp8266 NodeMCU
- SCK/SCL: Connected to D1 of esp8266 NodeMCU
- SDI/SDA: Connected to D2 of esp8266 NodeMCU
0.96" OLED
- GND: Connected to GND of esp8266 NodeMCU
- VDD: Connected to 3V3 of esp8266 NodeMCU
- SCK: Connected to D1 of esp8266 NodeMCU
- SDA: Connected to D2 of esp8266 NodeMCU
Resistor (10k Ohms)
- pin1: Connected to D3 of esp8266 NodeMCU
- pin2: Connected to D4 of esp8266 NodeMCU
Resistor (4.7k Ohms)
- pin1: Connected to 3V3 of esp8266 NodeMCU
- pin2: Connected to SDA of Adafruit BMP388
Resistor (330 Ohms)
- pin1: Connected to D5 of esp8266 NodeMCU
- pin2: Connected to GND of esp8266 NodeMCU
Resistor (200 Ohms)
- pin1: Connected to OUT+ of TP4056
- pin2: Connected to AIN0 of Adafruit PCF8591
Zener Diode
- anode: Connected to D1 of esp8266 NodeMCU
- cathode: Connected to cs of Micro SD Card Module
TP4056
- IN-: Connected to GND of 18650 in holder
- IN+: Connected to VCC of 18650 in holder
- OUT-: Connected to pin2 of Resistor (200 Ohms)
- OUT+: Connected to pin1 of Resistor (200 Ohms)
- B-: Connected to GND of PowerBoost 1000 Basic Pad Terminal
- B+: Connected to VBAT of PowerBoost 1000 Basic Pad Terminal
PowerBoost 1000 Basic Pad Terminal
- VBAT: Connected to B+ of TP4056
- GND: Connected to GND of esp8266 NodeMCU
- 5.0V: Connected to VIN of esp8266 NodeMCU
DHT22
- VCC: Connected to 3V3 of esp8266 NodeMCU
- OUT: Connected to D4 of esp8266 NodeMCU
- GND: Connected to GND of esp8266 NodeMCU
DS3231 RTC
- VCC: Connected to 3V3 of esp8266 NodeMCU
- GND: Connected to GND of esp8266 NodeMCU
- SCL: Connected to D1 of esp8266 NodeMCU
- SDA: Connected to D2 of esp8266 NodeMCU
esp8266 NodeMCU
- D0: Not used
- D1: Connected to SCL of DS3231 RTC, SCK/SCL of Adafruit BMP388, SCL of Adafruit TSL2591, SCK of 0.96" OLED
- D2: Connected to SDA of DS3231 RTC, SDI/SDA of Adafruit BMP388, SDA of Adafruit TSL2591, SDA of 0.96" OLED
- D3: Connected to DO of RAIN SENSOR
- D4: Connected to OUT of DHT22
- 3V3: Connected to VCC of various components
- GND: Connected to GND of various components
- D5: Connected to sck of Micro SD Card Module
- D6: Connected to pin1 of Resistor (330 Ohms)
- D7: Connected to mosi of Micro SD Card Module
- D8: Connected to cs of Micro SD Card Module
- RX: Not used
- TX: Not used
- A0: Connected to pin 0 of Photocell (LDR)
- RSV: Not used
- SD3: Not used
- SD2: Not used
- SD1: Not used