Page 1 of 1

ESP32C3 ADC1 Channel 2 (GPIO02) connected to v3.3?

Posted: Sat Apr 04, 2026 3:52 pm
by Jiv_au
Hi.

I was testing my ESP32 C3 using the ESP-IDF example codes for ADC oneshot read and continuous read.

I was able to get good voltage measurements on ADC1 Channels 0, 1, 3, 4, and even ADC2 Channel 0.
However, on ADC1 Channel 2 I was getting very inaccurate measurements, and when it is not connected it would read maximum value (4095).

Then I discoverd that the GPIO02 is connected to 3.3V pin through an SMD 10K resistor, which is visible on the C3 PCB. I confirmed this using a multimeter on the pins, and I also probed on the PCB to identify the resistor (see attached picture).
None of the other ADC Channels (GPIO00, 01, 03, 04, 05) is connected to the v3.3 pin in this way.

I was wondering if anyone might know whether this is by design or that I have a faulty unit? (2 actually, with the same 10k resistor on the GPIO02)

If by design, would anyone be able to help me get a good reading from this ADC1 Channel 2? All other ADC channels are working as expected?

Re: ESP32C3 ADC1 Channel 2 (GPIO02) connected to v3.3?

Posted: Sat Apr 04, 2026 11:55 pm
by Sprite
GPIO2 is a bootstrap pin that needs to be high on powerup, hence the pullup. Probably best not to use that pin as an ADC input, unless you can guarantee that the pin still will be high when powering up the C3.

Re: ESP32C3 ADC1 Channel 2 (GPIO02) connected to v3.3?

Posted: Sun Apr 05, 2026 1:51 am
by Jiv_au
GPIO2 is a bootstrap pin that needs to be high on powerup
Hi Sprite.

Thanks for the quick response. You pointed me in the right direction.

After your advice I found this link: https://www.espboards.dev/blog/esp32-strapping-pins

Strapping pins (bootstrap pins) are special GPIO pins that configure ESP32 behavior at startup. Their primary function is boot mode selection — determining whether the chip enters download mode (for flashing firmware) or normal mode (to run your program).

The bottom line is that using these pins with external components may result in unexpected behaviour (e.g. not booting/operating).

I am using the ADC pins with 10K NTC thermistors (temperature reading).
I have just experimented flashing while one is connected to GPIO2. This seems to be fine, but in the worst case they can be disconnected (I'm using JST connectors for them).

Again, thanks for you help.