Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Nes-0
#84796 Hi,

I would like to use both esp8266 UARTs, one for a debug console (currently transmit only), the other for receiving data from an external device.

I am using the Wemos D1Mini. gpio1 and gpio3 are hardwired to a USB to UART bridge. Unfortunately all the designated pins for UART1 apart from Tx are shared with the SPI interface which is hardwired to the on board flash chip. UART1 Rx is not obviously available to use.

I have been experimenting with flags in register 0x3ff00028. I can move UART0 Rx and Tx to GPIOs 13 and 15 respectively by setting bit 2. Apparently bit 3 has the same effect on UART1, though I can't test this.

I can also switch at least the Rx and Tx pins of UART0 with the respective pins of UART1 by setting bit 0. This might also affect the other handshaking lines too but I can't tell. When bit 0 is set, UART1 sends and receives data from the USB bridge.

When bit 0 is set, neither bit 2 nor bit 3 appears to have any effect on the UART pin routing. Is this correct?

Is there any information available on the other bits in register 0x3ff00028?

Ideally, I would like to end up with one Rx input on one of the GPIO lines not associated with the SPI bus, and at least Tx of the other UART on GPIO1 (and ideally Rx on GPIO3 as per the default).