What is the internal impedance of the ADC in a ESP32?

ullixesp
Posts: 89
Joined: Wed Oct 16, 2019 9:34 am
Location: Germany

What is the internal impedance of the ADC in a ESP32?

Postby ullixesp » Sat Jan 14, 2023 10:08 am

I need to measure slowly changing voltages (so internal resistance is sufficient) from a voltage source having a high internal resistance, like some 10MegOhm. The source's voltage is a few hundred volt, which will be divided down to under 3V (the limit of the ADC, if I am not mistaken) by using a 1 GigaOhm resistor, followed by an appropriately sized resistor.

I don't find the input impedance of the ADC in the data sheets. Is it even known?

ullixesp
Posts: 89
Joined: Wed Oct 16, 2019 9:34 am
Location: Germany

Re: What is the internal impedance of the ADC in a ESP32?

Postby ullixesp » Tue Jan 17, 2023 7:50 am

Nobody? Not even a little hint? Or direction where to search any further?

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

Re: What is the internal impedance of the ADC in a ESP32?

Postby Sprite » Wed Jan 18, 2023 3:22 am

Given that the ADCs are on standard GPIO pins, I imagine you can take the specs of those as a reference: 2pF input capacitance and 50nA leakage current.

ullixesp
Posts: 89
Joined: Wed Oct 16, 2019 9:34 am
Location: Germany

Re: What is the internal impedance of the ADC in a ESP32?

Postby ullixesp » Thu Jan 19, 2023 9:39 am

Not sure what to do with these numbers. As my voltages change very slowly, I don't need the impedance and can ignore the 2pF.

When I naively(!) take the 50nA and the 3.3V, I get by Ohm's law 3.3/50E-9 = 66 MegOhm.

Hmmm. This would be very high. Realistic?

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

Re: What is the internal impedance of the ADC in a ESP32?

Postby Sprite » Thu Jan 19, 2023 10:27 am

You assume that the input leakage is resistive and linear when you calculate a resistance like that but generally, yeah, that makes sense.

lore_marghe
Posts: 2
Joined: Fri Mar 07, 2025 11:16 am

Re: What is the internal impedance of the ADC in a ESP32?

Postby lore_marghe » Wed Apr 02, 2025 9:12 am

Hello everyone, I also need to know the typical input impedance of the analog pin.
Note (!) analog pin is very different from the digital pin.

So I would like to know if the analog pin comes through a high-Z stage of the SAR.
Therefore, does the SAR guarantee a high impedance (Mohm) or do we always need to place a preamp stage?

Aria James
Posts: 10
Joined: Tue Mar 11, 2025 6:42 pm

Re: What is the internal impedance of the ADC in a ESP32?

Postby Aria James » Mon Apr 07, 2025 7:23 pm

ADC input impedance is usually high, often in the Megaohms range, but may not always be listed. For high impedance sources, consider using a buffer op-amp to ensure accurate readings.

Chris G5CTH
Posts: 2
Joined: Sat Mar 28, 2026 10:56 am

Re: What is the internal impedance of the ADC in a ESP32?

Postby Chris G5CTH » Sat Mar 28, 2026 11:20 am

I've also got questions about the ESP32 S3 ADC inputs. I am trying to read the output of an AD8307 RF log detector. I find that the gain of the device read by the ESP32 analogRead() is half what it should be. The voltages are also higher than expected.

This device provides a voltage output by supplying current to a 12.5k internal resistor. From what I can see the ESP32 is pulling the ADC pins high through a 10.5k resistor.

I'm using GPIO pins 9 and 10 and using the analogReadContinuous functionality to read them. Normal analogRead gives the same result.

I'm using pinMode(ANALOG) to set the pins and I wonder if that's correct, could then be an internal pullup enabled?

And the Arduino IDE.

Chris G5CTH
Posts: 2
Joined: Sat Mar 28, 2026 10:56 am

Re: What is the internal impedance of the ADC in a ESP32?

Postby Chris G5CTH » Sat Mar 28, 2026 1:26 pm

I've found the answer, nothing like posting a question to trigger an idea.

I'm using a Waveshare ESP32-S3-Touch-LCD-3.5 development board and it turned out that the pins I'm using are shared with the SD card interface, the MISO and MOSI lines and these have 10k pull ups, exactly as I found. These pins have three different names in different parts of the documentation, for example GPIO9, SD_MISO and ESP_MISO.

It looks as if I'll have to live with it, these are the only pins available for external IO which support analog continuous, in fact very few of the available pins provide analog read at all. I can live without the SD card.

The lesson is to be more cautious about using these development boards with integrated displays, they have so much stuff already connected that there's very little room for external things.

Anyway the unexplained behaviour is now explained.
Chris

ullixesp
Posts: 89
Joined: Wed Oct 16, 2019 9:34 am
Location: Germany

Re: What is the internal impedance of the ADC in a ESP32?

Postby ullixesp » Sat Apr 11, 2026 9:20 am

I am stumbling again over the internal resistance (I have very slow signals; impedance is not relevant) of an ADC input at an ESP32.

When a pin at the ESP32 is set as ADC, and I apply a voltage, would measuring the current flowing into the ESP then not allow to calculate the internal resistance simply by Ohm's law?

I have an ESP32-D0WD-V3 v3.0 and have the ADC1 configured via Tasmota. I apply a voltage (3.0 ... 3.3 V) and measure current with a 20000 count DMM.

With a voltage of 3.0 V I get a current fluctuating between 0.01 ... 0.03 µA.
Strangely, when the voltage is increased only to 3.3 V, the current goes up to 0.05 ... 0.08 µA.

I also tried an ESP32-C5 v1.0 in the same setup. Here at 3.0V the current is 0.00 .. 0.01 µA, and even at 3.3V I get a current of only 0.01 ... 0.03 µA.

All currents are very low, at the edge of the resolution of this instrument, so not very reliable. Yet, assuming a range of 0.01 ... 0.08 µA the internal resistance would be:

3.3V / (0.01 ... 0.08 µA) => 330 ... 41 MOhm. This is close to the "naive" estimate of 66 MOhm, which I had posted above! And all numbers are unexpectedly high (a good thing for me).

Is it likely that an ESP32-C5 has an even higher input resistance than the "classic" V3?

Who is online

Users browsing this forum: PerplexityBot and 4 guests