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:
gpio_reset_pin(GPIO_NUM_4); //Remove JTAG default assignment
Output drive capability
Output pins can have the drive current capability adjusted using gpio_set_drive_capability() – see here.
