Troubleshooting IO pins

Default assignment to special functions Some ESP32 devices default to assignment of the IO pins via the IO matrix to specific peripherals (e.g. ESP32S3 JTAG pins). Try using call gpio_reset_pin() on a problem pin before you configure it: Output drive capability Output pins can have the drive current capability adjusted using gpio_set_drive_capability() – see here.

Read More

Special pin assignments

JTAG pins Some ESP32 devices (e.g. ESP32 C3 and S3) default to JTAG assignment of the IO pins via the IO matrix and the pins won’t work as general IO until you call gpio_reset_pin(): USB pins Some ESP32 devices (e.g. ESP32 S3) default to USB of their IO pins via the IO matrix and the […]

Read More

Sharing IO Pins

Sharing IO pins – UART You need the two UART pins available for programming use (if you’re not using the ESP32 USB interface) even if you want to use the JTAG interface (you need to fall back to the serial interface at times, its the default means of programming the ESP32). You can share them […]

Read More

.IO Pin Control General

Documentation https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/gpio.html Input Pins Combined method Individual functions method Output Pins Disable Pins

Read More