I will refer to the 30 pin as ESP32-30 in order to differentiate between the 30 and 38 pin version.
|
|
15 ADC channels | 15 channels of 12-bit SAR ADC’s. The ADC range can
be set, in firmware, to either 0-1V, 0-1.4V, 0-2V, or 0-4V
|
2 UART interfaces | 2 UART interfaces. One is used to load code
serially. They feature flow control, and support IrDA too!
|
25 PWM outputs | 25 channels of PWM pins for dimming LEDs or
controlling motors.
|
2 DAC channels | 8-bit DACs to produce true analog voltages.
|
3 SPI & 1 I2C interfaces | There are 3 SPI and 1 I2C interfaces to
hook up all sorts of sensors and peripherals.
|
9 Touch Pads | 9 GPIOs feature capacitive touch sensing.
|
Thanks to the ESP32-30’s pin multiplexing feature (Multiple peripherals multiplexed
on a single GPIO pin). Meaning a single GPIO pin can act as an ADC input/DAC
output/Touch pad.
You can get extensive information about ESP32-30 from the datasheet.
Label | GPIO | Safe to use? | Reason
|
D0 | 0 | 🟠 ! | must be HIGH during boot and LOW for programming
|
TX0 | 1 | ⭕ X | Tx pin, used for flashing and debugging
|
D2 | 2 | 🟠 ! | must be LOW during boot and also connected to the on-board LED
|
RX0 | 3 | ⭕ X | Rx pin, used for flashing and debugging
|
D4 | 4 | 🟢 ✓
|
D5 | 5 | 🟠 ! | must be HIGH during boot
|
D6 | 6 | ⭕ X | Connected to Flash memory
|
D7 | 7 | ⭕ X | Connected to Flash memory
|
D8 | 8 | ⭕ X | Connected to Flash memory
|
D9 | 9 | ⭕ X | Connected to Flash memory
|
D10 | 10 | ⭕ X | Connected to Flash memory
|
D11 | 11 | ⭕ X | 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
|
For your convenience, here is an image showing which GPIO pins are safe to use.