ESP32S3 ADC Abnormal Fluctuations Issue

det_keept
Posts: 2
Joined: Mon Nov 10, 2025 2:33 am

ESP32S3 ADC Abnormal Fluctuations Issue

Postby det_keept » Tue Nov 18, 2025 8:07 am

I designed a PCB using ESP32S3 (chip + peripheral method, not a module). The board has a PWM to DC converter circuit with a sensor connected in it. I connected its output to GPIO2 and did an ADC one-shot read in IDF. I have two PCBs with nearly identical layouts and routing of the adc collection circuit. When the sensor is open-circuit, one PCB shows my desired result: The log outputs 0mV for both raw data and calibration data. However, the other PCB shows the following log. How can I resolve this issue?

Note: My ESP32S3 also has an external audio ADC chip connected. When I disable communication between ESP32S3 and the ADC chip, my log outputs the desired 0mV. However, this audio ADC is essential. Could someone help me determine if this is a layout issue or a problem with the ESP32S3 module itself? :?

Code: Select all

I (66497) my_gatts:  bat_power 100
I (66775) my_adc: ADC1 Channel[0] Cali Voltage: 29 mV
I (67275) my_adc: ADC1 Channel[0] Cali Voltage: 22 mV
I (67775) my_adc: ADC1 Channel[0] Cali Voltage: 0 mV
I (68275) my_adc: ADC1 Channel[0] Cali Voltage: 39 mV
I (68497) my_gatts:  bat_power 100
I (68775) my_adc: ADC1 Channel[0] Cali Voltage: 0 mV
I (69275) my_adc: ADC1 Channel[0] Cali Voltage: 36 mV
I (69775) my_adc: ADC1 Channel[0] Cali Voltage: 51 mV
I (70275) my_adc: ADC1 Channel[0] Cali Voltage: 39 mV
I (70497) my_gatts:  bat_power 100
I (70775) my_adc: ADC1 Channel[0] Cali Voltage: 270 mV
I (71275) my_adc: ADC1 Channel[0] Cali Voltage: 28 mV
I (71775) my_adc: ADC1 Channel[0] Cali Voltage: 50 mV
I (72275) my_adc: ADC1 Channel[0] Cali Voltage: 65 mV
I (72497) my_gatts:  bat_power 100
I (72775) my_adc: ADC1 Channel[0] Cali Voltage: 39 mV
I (73275) my_adc: ADC1 Channel[0] Cali Voltage: 28 mV
I (73775) my_adc: ADC1 Channel[0] Cali Voltage: 65 mV
I (74275) my_adc: ADC1 Channel[0] Cali Voltage: 25 mV
I (74497) my_gatts:  bat_power 100
I (74775) my_adc: ADC1 Channel[0] Cali Voltage: 25 mV
I (75275) my_adc: ADC1 Channel[0] Cali Voltage: 36 mV
I (75775) my_adc: ADC1 Channel[0] Cali Voltage: 0 mV
I (76275) my_adc: ADC1 Channel[0] Cali Voltage: 28 mV
I (76497) my_gatts:  bat_power 100
I (76775) my_adc: ADC1 Channel[0] Cali Voltage: 39 mV
I (77275) my_adc: ADC1 Channel[0] Cali Voltage: 145 mV
I (77775) my_adc: ADC1 Channel[0] Cali Voltage: 19 mV
I (78275) my_adc: ADC1 Channel[0] Cali Voltage: 39 mV

Sprite
Espressif staff
Espressif staff
Posts: 10596
Joined: Thu Nov 26, 2015 4:08 am

Re: ESP32S3 ADC Abnormal Fluctuations Issue

Postby Sprite » Wed Nov 19, 2025 2:21 am

If an ADC input is open-circuit, the value on it is undefined; might be 0V, might be some voltage that it happens to be connected to by some high-impedance impurities on the board, might be whatever voltage it is pulled to by EMC influences. Make sure to pull the ADC line to a defined level if you don't have a circuit connected to it that feeds it a defined voltage.

det_keept
Posts: 2
Joined: Mon Nov 10, 2025 2:33 am

Re: ESP32S3 ADC Abnormal Fluctuations Issue

Postby det_keept » Wed Nov 19, 2025 5:27 am

If an ADC input is open-circuit, the value on it is undefined; might be 0V, might be some voltage that it happens to be connected to by some high-impedance impurities on the board, might be whatever voltage it is pulled to by EMC influences. Make sure to pull the ADC line to a defined level if you don't have a circuit connected to it that feeds it a defined voltage.
Thanks for replying. I did assign a specific value to the ADC, specifically by using a resistor and capacitor pulled down to ground. Yesterday I tried to associate the ADC processing analog circuit from the audio DSP by soldering, the problem solved. Now I am sure it's caused by unreasonable PCB layout.

Who is online

Users browsing this forum: Baidu [Spider], meta-externalagent, PerplexityBot and 6 guests