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

ESP32-Based Solar-Powered Water Quality Monitoring System with GPS and Nokia 5110 LCD Display

View and Edit Project In Cirkit DesignerImage of ESP32-Based Solar-Powered Water Quality Monitoring System with GPS and Nokia 5110 LCD Display

Circuit Documentation

Summary

This circuit is designed to interface with various sensors and a Nokia 5110 LCD display, controlled by an ESP32 microcontroller. The circuit includes a solar panel for power input, a TP4056 for charging a Li-Ion battery, and a rocker switch for power control. It features a GPS module for location tracking and multiple sensors for measuring temperature, turbidity, TDS (Total Dissolved Solids), pH, dissolved oxygen, electrical conductivity, and ORP (Oxidation-Reduction Potential). The Nokia 5110 LCD is used to display information such as sensor readings and system status.

Component List

Wiring Details

TP4056

Rocker Switch

DS18B20 1-Wire Temperature Sensor Probe Cable

Solar Panel

Modulo Sensor Turbidez/Turbidity

Sonda Sensor Turbidez/Turbidity

Sonda Sensor TDS

Sonda Sensor PH

Modulo Sensor TDS

Modulo Sensor Oxigeno Disuelto/Dissolved Oxygen

Modulo Sensor Conductividad Electrica/Electrical Conductivity

Nokia 5110 LCD

GPS NEO 6M

Modulo Sensor PH

Modulo Sensor ORP

18650 Li-Ion

Documented Code

ESP32 - Expansion Board

/*
 * ESP32 LCD5110
 * This sketch initializes the ESP32 and interfaces with the Nokia 5110 LCD.
 * It displays a simple message on the LCD screen.
 */

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>

// Pin definitions
#define LCD_CLK 26
#define LCD_DIN 27
#define LCD_DC 14
#define LCD_CS 13
#define LCD_RST 12

// Create an instance of the LCD display
Adafruit_PCD8544 display = Adafruit_PCD8544(LCD_CLK, LCD_DIN, LCD_DC, LCD_CS, LCD_RST);

void setup() {
  // Initialize the display
  display.begin();
  display.setContrast(50);
  display.clearDisplay();
  display.display();
  
  // Display a message
  display.setTextSize(1);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.println("Hello, World!");
  display.display();
}

void loop() {
  // Main loop does nothing
}

This code is for the ESP32 microcontroller and is responsible for initializing and controlling the Nokia 5110 LCD display. It sets up the display and prints "Hello, World!" on the screen. The pin definitions match the wiring details provided earlier.