


When you are using the Wi-Fi of ESP32, the Wi-Fi Driver uses the ADC2 Peripheral. Of the 8 ADC1 channels, only 6 are available (ACD1_CH0 and ACD1_CH3 to ACD1_CH7) while ADC1_CH1 and ADC1_CH2 are not available (even the pins are not exposed in the ESP32 Development Board).Ĭoming to ADC2, it is somewhat complicated. However, there are some limitations you have to know of.Įven though ESP32 has 18 channels ADC, all the ADC pins are not available for the user. Unlike some of the digital peripherals (PWM, software SPI and I2C), the ADC pins are fixed i.e., you have to use the predefined GPIO Pins which have ADC functionality and you cannot configure it in software. Also, the ADC input voltage limit is 3.3V i.e., ESP32 ADC can measure analog voltage in the range of 0V to 3.3V. So, by default, the output of the ESP32 ADC will be a value in the range of (as the default resolution is 12-bit, the output digital values can have 2 12 = 4096 values). Usually, the resolution is set to 12-bit, if not changed. ADC1 consists of 8 channels and ADC2 consists of 10 channels.ĪDC in ESP32 have a maximum resolution of ADC of 12-bits and yes, the resolution of ADC is configurable with possible values include 9-bit, 10-bit, 11-bit and 12-bit. Together, the two SAR ADCs i.e., ADC1 and ADC2 in ESP32 consists of 18 channels. The ESP32 SoC consists of two Successive Approximation Register (SAR) type Analog to Digital Converters (ADC).
