DevTerm R-01 Ext Board UART is read only?

The problem is that the CH340C provides 5 V logic levels, whereas the D1 only supports 3.3 V I/O. This is just a bad situation overall, and I am surprised there is no level shifting or even any resistors on the R-01 core module to compensate.

Additionally, the LED circuit creates a voltage divider from VBUS, so even if the CH340C drives TxD to ground, the voltage at UART_RX is about 50% of VBUS, or 2.5 V. The D1 still sees this as a high level (it’s over 75% of VCC-IO!), so that explains why the D1 never receives any data.

You can partially fix the issue by grabbing a soldering iron and removing R15 and R16 from the expansion board. This removes the voltage divider, so the CH340C can now pull UART_RX all the way to ground. This will allow you to use the USB-UART in both directions.

However, I still measure 3.75 volts on the D1 end of R18. While this is below the absolute maximum voltage for the VCC-IO domain (3.96 V), it is well above the recommended maximum VCC-IO voltage (3.63 V), and you will be feeding power from the UART pins back in to the SoC. So I still cannot recommend using the USB-UART even with this fix.

A better solution would be to solder wires to pins 2 and 3 of the CH340C and use a different USB-UART adapter that runs at the correct voltage.

2 Likes