В копилку темы:
#define PERIPHS_IO_MUX_GPIO3_U (PERIPHS_IO_MUX + 0x14) // это RXD
#define PERIPHS_IO_MUX_GPIO1_U (PERIPHS_IO_MUX + 0x18) // это TXD
#define PERIPHS_IO_MUX_GPIO12_U (PERIPHS_IO_MUX + 0x04)
#define PERIPHS_IO_MUX_GPIO13_U (PERIPHS_IO_MUX + 0x08)
#define PERIPHS_IO_MUX_GPIO14_U (PERIPHS_IO_MUX + 0x0C)
#define PERIPHS_IO_MUX_GPIO15_U (PERIPHS_IO_MUX + 0x10)
В SDK эти GPIO прописаны под другими названиями и чтобы можно было без проблем по номерации с ними работать, то можно добавить данные строки в код.
GPIO15 можно использовать, но с ограничениями, при запуске модуля он должен быть подтянут к минусу. Можно например подключить сюда кнопку, по умолчанию подтянутую к минусу через резистор.
Для использования выводов TXD и RXD необходимо выключить UART, прописав код в user_main.c