ESP-WROOM-32 is Powered by Espressif’s most advanced SoC, the ESP-WROOM-32 features high performance, a wide range of peripherals, Wi-Fi and radio, which provide a complete solution tailored to advanced IoT applications.
240 MHz dual core Tensilica LX6 microcontroller with 600 DMIPS
Integrated 520 KB SRAM
Integrated 802.11BGN HT40 Wi-Fi transceiver, baseband, stack and LWIP
Integrated dual mode (classic and BLE)
16 MByte flash
2.2V to 3.6V operating voltage
-40°C to +125°C operating temperature
On-board PCB antenna / IPEX connector for external antenna
Supports sniffer, station, softAP and Wi-Fi direct modes
Max data rate of 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, and 11 Mbps@11b
Maximum transmit power of 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n
Minimum receiver sensitivity of -98 dBm
135 Mbps UDP sustained throughput
2.5 µA deep sleep current
You can see each of the pins of this board has multiple functions. Each function is clearly noted with different colors. Now we will discuss about these functions with respective pins to understand how to and which pins should be used.
GPIO means General Input and Output. In the 30 pin ESP32 board, 25 GPIO pins are available to connect with external circuits. It also has some other GPIO pins that are connected internally with some ports and ICs. The GPIO pins are also used for other functions such as ADC, DAC, RTC, etc. But, only one function work at a time. So, we can configure the GPIO pin as an ADC or a UART in the program. You can see in the above diagram, the pin no 2 to 13 and pin no 18 to 30 have GPIO functions.
ADC means Analog to Digital Converter. The ADC pins help to connect external analog devices and components with this board. So, it can measure analog voltage, current. These ADC pins are also be used in the sleep mode for low power consumption. The pin no 2 to 13 and 18 to 20 have ADC functions.
DAC means Digital to Analog. Digital to Analog or DAC helps to convert the digital signal into an analog signal. These are used for analog output purposes. These pins are comes in the use for voltage control, PWM control, etc. The GPIO 25 and 26 or pin no 8 and 9 have DAC functions.
PWM means Pulse Width Modulated. There is a difference signal normal digital signal and pulse width modulated or PWM signal although they look like same. The digital signal has a constant or fixed time period and frequency whereas PWM signal has variable time period and frequency. The PWM function comes for very useful applications such as motor control or variable load controls. In the ESP32 board, almost all the pins are PWM enabled except pin no 1, 14, 15, 16, 17.
The 30 pin ESP32 board has 9 numbers touch sensor pins. The pin no 6, 7, 11, 12, 13, 18, 19, 20 the touch sensor pins. These pins are can be used to implement a capacitive touch sensor or touchpad without any external hardware.