Robochacha
Published © CERN-OHL2

Beginner Electronics Projects: 3 Futuristic Builds for ESP32

Top projects for 2026

BeginnerProtip2 hours45
Beginner Electronics Projects: 3 Futuristic Builds for ESP32

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Breadboard, 170 Pin
Breadboard, 170 Pin

Story

Read more

Schematics

smart plant monitoring system

Code

smart plant monitoring system code

C/C++
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <DHT.h>

// OLED Display Settings
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

// DHT Sensor Settings
#define DHTPIN 4       // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22  // Change to DHT11 if you are using that sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  
  // Initialize DHT sensor
  dht.begin();

  // Initialize OLED display
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { 
    Serial.println(F("SSD1306 allocation failed"));
    for(;;);
  }
  
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(1);
  display.setCursor(20, 20);
  display.println("AURORA SYSTEM...");
  display.display();
  delay(2000);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // Celsius

  if (isnan(h) || isnan(t)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  // Update OLED
  display.clearDisplay();
  
  // Title
  display.setTextSize(1);
  display.setCursor(0, 0);
  display.println("--- PROJECT AURORA ---");

  // Temperature
  display.setTextSize(2);
  display.setCursor(0, 20);
  display.print("Temp: ");
  display.print(t, 1);
  display.print("C");

  // Humidity
  display.setTextSize(2);
  display.setCursor(0, 45);
  display.print("Hum:  ");
  display.print(h, 0);
  display.print("%");

  display.display();
  
  delay(2000); // Wait 2 seconds between updates
}

Credits

Robochacha
1 project • 0 followers

Comments