Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO and ESP8266-Based Air Quality Monitoring System with Wi-Fi Connectivity

View and Edit Project In Cirkit DesignerImage of Arduino UNO and ESP8266-Based Air Quality Monitoring System with Wi-Fi Connectivity

Circuit Documentation

Summary

This circuit is designed to monitor air quality and control a fan based on the readings. It utilizes an Arduino UNO as the main microcontroller, interfacing with various sensors and modules including a DHT22 temperature and humidity sensor, a PM2.5 air quality sensor, an ESP8266 WiFi module, an LCD screen, and a relay to control the fan.

Component List

  1. Arduino UNO

    • Description: Main microcontroller
    • Pins: UNUSED, IOREF, Reset, 3.3V, 5V, GND, Vin, A0, A1, A2, A3, A4, A5, SCL, SDA, AREF, D13, D12, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0
  2. Fan

    • Description: Fan controlled by the relay
    • Pins: GND, 5V
  3. DHT22

    • Description: Temperature and humidity sensor
    • Pins: GND, VCC, DAT
  4. PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003

    • Description: Air quality sensor
    • Pins: VCC, GND, SET, RX, TX, RST
  5. ESP8266 ESP-12E WiFi Module

    • Description: WiFi module for network connectivity
    • Pins: GND, GPIO_15, GPIO_2, GPIO_0, GPIO_4, GPIO_5, RXD, TXD, REST, ADC_0, CH_PD, GPIO_16, GPIO_14, GPIO_12, GPIO_13, VCC, SCLK, MOSI, GPIO_10, GPIO_9, MISO, CS0
  6. 9V Battery

    • Description: Power source
    • Pins: -, +
  7. LCD screen 16x2 I2C

    • Description: Display module
    • Pins: SCL, SDA, VCC, GND
  8. 1-Channel Relay (5V 10A)

    • Description: Relay to control the fan
    • Pins: NC, signal, C, power, NO, ground

Wiring Details

Arduino UNO

Fan

DHT22

PM2.5 Air Quality Sensor and Breadboard Adapter Kit - PMS5003

ESP8266 ESP-12E WiFi Module

LCD screen 16x2 I2C

1-Channel Relay (5V 10A)

9V Battery

Documented Code

Arduino UNO Code (sketch.ino)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Additional Documentation (documentation.txt)