|
|
15 ADC channels | 15 channels of 12-bit SAR ADC with selectable ranges of 0
-1V, 0-1.4V, 0-2V, or 0-4V
|
2 UART interfaces | 2 UART interfaces with flow control and IrDA support
|
25 PWM outputs | 25 PWM pins to control things like motor speed or LED
brightness
|
2 DAC channels | Two 8-bit DACs to generate true analog voltages
|
SPI, I2C and I2S interface | Three SPI and one I2C interfaces for
connecting
various sensors and peripherals, as well as two I2S interfaces for adding
sound to your project
|
9 Touch Pads | 9 GPIOs with capacitive touch sensing
|
Thanks to the ESP32’s pin multiplexing feature, which allows multiple
peripherals to share a single GPIO pin. For example, a single GPIO pin can
act as an ADC input, DAC output, or touch pad.
For extensive information about the ESP32, please refer to the datasheet.
Label | GPIO | Safe to use? | Reason
|
D0 | 0 | | must be HIGH during boot and LOW for programming
|
TX0 | 1 | | Tx pin, used for flashing and debugging
|
D2 | 2 | | must be LOW during boot and also connected to the on-board LED
|
RX0 | 3 | | Rx pin, used for flashing and debugging
|
D4 | 4 | |
|
D5 | 5 | | must be HIGH during boot
|
D6 | 6 | | Connected to Flash memory
|
D7 | 7 | | Connected to Flash memory
|
D8 | 8 | | Connected to Flash memory
|
D9 | 9 | | Connected to Flash memory
|
D10 | 10 | | Connected to Flash memory
|
D11 | 11 | | Connected to Flash memory
|
D12 | 12 | | must be LOW during boot
|
D13 | 13 | |
|
D14 | 14 | |
|
D15 | 15 | | must be HIGH during boot, prevents startup log if pulled LOW
|
RX2 | 16 | |
|
TX2 | 17 | |
|
D18 | 18 | |
|
D19 | 19 | |
|
D21 | 21 | |
|
D22 | 22 | |
|
D23 | 23 | |
|
D25 | 25 | |
|
D26 | 26 | |
|
D27 | 27 | |
|
D32 | 32 | |
|
D33 | 33 | |
|
D34 | 34 | | Input only GPIO, cannot be configured as output
|
D35 | 35 | | Input only GPIO, cannot be configured as output
|
VP | 36 | | Input only GPIO, cannot be configured as output
|
VN | 39 | | Input only GPIO, cannot be configured as output
|
The image below shows which GPIO pins can be used safely.