0% found this document useful (0 votes)
11 views6 pages

ADC With Serial Monitor

The document outlines a project to design an ESP32-based system for continuously monitoring and tracking the minimum and maximum analog voltage values. It discusses the importance of ADC performance, including dynamic range, resolution, and accuracy, while detailing hardware requirements and providing a coding example for implementation. The conclusion emphasizes the challenges in maintaining signal fidelity and accuracy in precision applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views6 pages

ADC With Serial Monitor

The document outlines a project to design an ESP32-based system for continuously monitoring and tracking the minimum and maximum analog voltage values. It discusses the importance of ADC performance, including dynamic range, resolution, and accuracy, while detailing hardware requirements and providing a coding example for implementation. The conclusion emphasizes the challenges in maintaining signal fidelity and accuracy in precision applications.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

ADC MINIMUM TO MAXIMUM VOLTAGE MEASURE

Zihad
1.Overview
The ESP32 has multiple ADC channels (12-bit resolution by default), allowing you
to measure analog voltages on certain GPIOs. You can track minimum and
maximum voltages by sampling repeatedly and comparing values.
2.Problem Statement
Design and implement an ESP32-based system that continuously monitors an
analog voltage signal and tracks its minimum and maximum values over time.
3.. Literature Review
The range between the minimum and maximum values an ADC can represent is
critical for application performance. The literature demonstrates that architecture
choice, calibration techniques, and application context all influence this range. As
technology advances, improvements in design and signal conditioning continue to
push the boundaries of ADC performance. Analog-to-Digital Converters (ADCs) are
crucial components in digital signal processing, enabling the transformation of
analog signals into digital representations. The range from minimum to maximum
values—also known as the dynamic range—along with resolution and accuracy,
determines the ADC’s effectiveness in capturing signal fidelity.
4.Hardware Requirements
ESP32 board (Devkit v1)
Power supply (3.3V max input for ADC)
Analog voltage source (e.g., potentiometer, sensor)
Optional: voltage divider (for voltages > 3.3V)

Wiring:
Connect the analog voltage source to GPIO 34.
• Make sure input voltage is ≤ 3.3V (or use a voltage divider).
5.Voltage Range Notes
ADC Range: 0V – 3.3V (absolute max)
Some ESP32 ADC channels may show non-linearity. Calibration is recommended.
6.Circuit Diagram & Hardware Simulation

Practical implementation Test:


ADC INPUT Voltage Graph chart V1
Conclusion:
The minimum to maximum behavior in ADCs presents challenges in signal fidelity,
accuracy, and dynamic range utilization. These issues become critical in precision
applications such as instrumentation, medical devices, and audio processing.
Designers must consider voltage range handling, calibration, noise, and
component selection to ensure reliable ADC performance.
Coding part:

const int adcPin = 34;

int rawValue;

float voltage;

float minVoltage = 3.3;

float maxVoltage = 0.0;

void setup() {

Serial.begin(115200);

analogReadResolution(12);

void loop() {

rawValue = analogRead(adcPin);

voltage = (rawValue / 4095.0) * 3.3;

// Track min/max

if (voltage < minVoltage) minVoltage = voltage;

if (voltage > maxVoltage) maxVoltage = voltage;

Serial.print("Current: ");

Serial.print(voltage, 3);

Serial.print(" V, Min: ");

Serial.print(minVoltage, 3);

Serial.print(" V, Max: ");

Serial.print(maxVoltage, 3);

Serial.println(" V");

delay(100);

You might also like