Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Project Documentation

ESP8266 NodeMCU-Based Environmental Monitoring and Control System with GPS Tracking

Image of ESP8266 NodeMCU-Based Environmental Monitoring and Control System with GPS Tracking

Circuit Documentation

Summary

This circuit integrates various sensors and modules with an ESP8266 NodeMCU microcontroller to perform environmental sensing and control functions. The circuit includes a DHT11 temperature and humidity sensor, a soil moisture module, a water level sensor, a GPS module (GPS NEO 6M), a water pump, and a 1-Channel Relay to control the pump. Power is supplied by a 3xAA battery pack and a separate 9V battery for the water pump relay circuit. The ESP8266 NodeMCU serves as the central processing unit, interfacing with the sensors and controlling the relay based on the sensor inputs.

Component List

  • ESP8266 NodeMCU: A microcontroller board with WiFi capability, used for processing sensor data and controlling the relay.
  • DHT11: A sensor for measuring temperature and humidity.
  • Soil Moisture Module: A sensor for detecting the moisture level in the soil.
  • SparkFun gator:soil: An additional soil moisture sensor.
  • Water Level Sensor: A sensor for detecting the level of water.
  • Water Pump: An actuator for pumping water.
  • 1-Channel Relay (5V 10A): A relay module for controlling high power devices such as the water pump.
  • GPS NEO 6M: A GPS module for location tracking.
  • 3xAA Battery: A battery pack providing power to the low-power components of the circuit.
  • 9V Battery: A battery providing power to the relay circuit for the water pump.

Wiring Details

ESP8266 NodeMCU

  • D1: Connected to the Water Level Sensor (SIG pin).
  • D2: Connected to the DHT11 (DATA pin).
  • D3: Connected to the 1-Channel Relay (signal pin).
  • RX: Connected to the GPS NEO 6M (TX pin).
  • TX: Connected to the GPS NEO 6M (RX pin).
  • A0: Connected to the Soil Moisture Module (Analog pin).
  • 3V3: Connected to the VCC pins of the Soil Moisture Module, Water Level Sensor, and GPS NEO 6M.
  • GND: Connected to the Ground pins of the Soil Moisture Module, Water Level Sensor, GPS NEO 6M, DHT11, and 1-Channel Relay.

DHT11

  • DATA: Connected to ESP8266 NodeMCU (D2 pin).
  • VCC: Connected to the 3xAA Battery (VCC pin).
  • GND: Connected to ESP8266 NodeMCU (GND pin).

Soil Moisture Module

  • Analog: Connected to ESP8266 NodeMCU (A0 pin).
  • VCC: Connected to ESP8266 NodeMCU (3V3 pin).
  • Ground: Connected to ESP8266 NodeMCU (GND pin).
  • positive: Connected to SparkFun gator:soil (VCC pin).
  • negative: Connected to SparkFun gator:soil (GND pin).

SparkFun gator:soil

  • VCC: Connected to Soil Moisture Module (positive pin).
  • GND: Connected to Soil Moisture Module (negative pin).

Water Level Sensor

  • SIG: Connected to ESP8266 NodeMCU (D1 pin).
  • VCC: Connected to ESP8266 NodeMCU (3V3 pin).
  • GND: Connected to ESP8266 NodeMCU (GND pin).

Water Pump

  • positive: Connected to the 1-Channel Relay (NO pin).
  • negative: Connected to the 9V Battery (- pin).

1-Channel Relay (5V 10A)

  • signal: Connected to ESP8266 NodeMCU (D3 pin).
  • power: Connected to the 3xAA Battery (VCC pin).
  • ground: Connected to ESP8266 NodeMCU (GND pin).
  • NO: Connected to the Water Pump (positive pin).
  • C: Connected to the 9V Battery (+ pin).

GPS NEO 6M

  • VCC: Connected to ESP8266 NodeMCU (3V3 pin).
  • RX: Connected to ESP8266 NodeMCU (TX pin).
  • TX: Connected to ESP8266 NodeMCU (RX pin).
  • GND: Connected to ESP8266 NodeMCU (GND pin).

Batteries

  • 3xAA Battery: Provides power to the low-power components of the circuit.
  • 9V Battery: Provides power to the relay circuit for the water pump.

Documented Code

No code was provided for the microcontroller. The code would typically include initialization of the sensors, reading sensor data, making decisions based on the sensor data, and controlling the relay to turn the water pump on or off. It would also handle communication with the GPS module and potentially send data to a remote server via the ESP8266 NodeMCU's WiFi capabilities.