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

Solar-Powered ESP32C3 Environmental Monitoring Station with Actuation

Image of Solar-Powered ESP32C3 Environmental Monitoring Station with Actuation

Circuit Documentation

Summary

This circuit integrates various components including sensors, a microcontroller, power management modules, and actuators to form a functional electronic system. The core of the circuit is an ESP32C3 Supermini microcontroller, which interfaces with a DS18B20 temperature sensor, an RTC DS1307 real-time clock, a servo motor, and power management modules such as a TP4056 charger and an MT3608 boost converter. The system is powered by solar panels and batteries, ensuring a renewable energy source. The circuit is designed to perform tasks that require temperature monitoring, timekeeping, and actuator control, with the potential for IoT applications due to the ESP32C3's networking capabilities.

Component List

Microcontroller

  • ESP32C3 Supermini: A powerful microcontroller with Wi-Fi and Bluetooth capabilities, featuring multiple GPIOs for interfacing with other components.

Sensors

  • DS18B20 1-Wire Temperature Sensor Probe Cable: A digital temperature sensor providing high precision and easy interfacing via a one-wire protocol.
  • RTC DS1307: A real-time clock module for timekeeping, with I2C communication.

Actuator

  • Servo: An electromechanical device that can be precisely controlled to move to different positions.

Power Management

  • Solar Panel: A photovoltaic panel that converts sunlight into electrical energy.
  • TP4056: A lithium battery charger module with battery protection.
  • MT3608: A DC-DC boost converter module to step up voltage.
  • 1N4007 Rectifier Diode: A diode used for protecting circuits by blocking reverse voltage.
  • Rocker Switch: A switch to control the power flow in the circuit.

Passive Components

  • Resistor (4700 Ohms): A passive two-terminal electrical component used to limit current flow.
  • 3.7v Battery: A rechargeable lithium-ion battery providing power to the circuit.

Wiring Details

ESP32C3 Supermini

  • 3.3V connected to VDD of DS18B20, VCC of RTC DS1307, VCC of ph4502c
  • GND connected to GND of DS18B20, GND of Servo, GND of RTC DS1307, G1 of ph4502c
  • GPIO00 connected to Po of ph4502c
  • GPIO10 connected to DQ of DS18B20 through a 4700 Ohm resistor
  • GPIO08 connected to SDA of RTC DS1307
  • GPIO09 connected to SCL of RTC DS1307
  • GPIO01 connected to PWM of Servo
  • +5V connected to VOUT+ of MT3608

DS18B20 1-Wire Temperature Sensor Probe Cable

  • VDD connected to 3.3V of ESP32C3 Supermini
  • GND connected to GND net
  • DQ connected to GPIO10 of ESP32C3 Supermini through a 4700 Ohm resistor

RTC DS1307

  • VCC connected to 3.3V of ESP32C3 Supermini
  • GND connected to GND net
  • SDA connected to GPIO08 of ESP32C3 Supermini
  • SCL connected to GPIO09 of ESP32C3 Supermini

Servo

  • GND connected to GND net
  • VCC connected to VOUT+ of MT3608
  • PWM connected to GPIO01 of ESP32C3 Supermini

Solar Panel

  • + connected to Anode of 1N4007 Rectifier Diode
  • - connected to IN- of TP4056

TP4056

  • OUT- connected to GND net
  • B- connected to - of both 3.7v batteries
  • B+ connected to + of both 3.7v batteries
  • OUT+ connected to 1 of Rocker Switch
  • IN- connected to - of Solar Panel
  • IN+ connected to Cathode of 1N4007 Rectifier Diode

1N4007 Rectifier Diode

  • Cathode connected to IN+ of TP4056
  • Anode connected to + of Solar Panel

Rocker Switch

  • 1 connected to OUT+ of TP4056
  • 2 connected to VIN+ of MT3608

Resistor (4700 Ohms)

  • pin1 connected to DQ of DS18B20
  • pin2 connected to 3.3V net

3.7v Battery

  • + connected to B+ of TP4056
  • - connected to B- of TP4056

MT3608

  • VOUT+ connected to +5V of ESP32C3 Supermini and VCC of Servo
  • VIN+ connected to 2 of Rocker Switch
  • VOUT- connected to GND net
  • VIN- connected to OUT- of TP4056

Documented Code

sketch.ino

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

}

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

}

documentation.txt

The documentation.txt file is empty and does not contain any additional information about the code.