[BPI-R4] UART0 serial port voltage tolerance

What I’ve noticed:

  1. My pl2303 (067b:2303 Prolific Technology, Inc. PL2303 Serial Port / Mobile Phone Data Cable) adapter with one RS232 was worked ok with MT7988 until yesterday or 2 days ago when Debian upgraded the kernel to 6.9.7. After upgrade is working for few minutes and then is not receiving anything.
  2. My FTDI adapters (0403:6010 Future Technology Devices International, Ltd FT2232C/D/H Dual UART/FIFO IC) is working fine. Is a dual RS232.
  3. My adapter from Odroid XU4 with CP210x (10c4:ea60 Silicon Labs CP210x UART Bridge) is not working. This one is using 1.5V for power and also for RX/TX. I believe this is and issue.

1 and 2 I have to use MAX3232 to convert TTL to RS232 using 3.3V power from board.

I’ve ordered a CP2104 on 3.3V and I will test it. Is working at 3.3V and is powered from USB bus. So I will solder an USB-C PCB+Connector to the hole and trace some cables to this adapter. To the board I will connect only 3 cables: RX, TX and GND.

@Lorem_amicus the one with glavanic isolated sides is pretty overkill. Is pretty big as dimensions. I don’t have too many events with short-circuits, so I will go on simple path :smiley: , but for others can be a solution.

Suggest ft232rl module, always works well with different hardware. If you want isolation use a lot of electrical tape or cover the entire module with hot glue from gun.

maybe a feature request for one of the next versions of the board: serial-usb-adapter integrated. i loved that on my old clearfog. using a mini usb cable. nothing to worry about power supply (3.3 vs 5), correct pin layout (rx/tx) etc.

1 Like

Yes, galvanic isolated is uncommon. This is right. It is my way, the price was not so much bigger.

We shouldn’t talk about the chips from Silabs in a general way like CP210x. Sorry, I made this mistake by myself!

The Silabs chips on the Voltlink Ref E and DSD TECH SH-U09B3 are CP2102N-A02. This is very important:

The common mistake of many people is to think, that the CP2104 is better than the CP2102N but be aware of this!:

I’m not a fan of Silabs. If it is not working, I will looking for something else! Big THANKS @frank-w for the link:

I now read it. If I understand the problem right, this is caused by hardware in combination with adapter firmware.

I’m a bit surpriced of the problem, because I use my R3 (Version 1.1) longer than a year and I have setting up all things including wifi with no problem. This is why I decided for Voltlink Rev E board … I will watch out for the problem!

@ericwoud: Your tonge is a sharp knife! But your commant causes some fun, after my brain trieded to find an answer for the question how I can use a USB to UART adapter after I covered the whole thing with electrical tape. :rofl:

Today I received my 2x CP2104 and USB-C connectors.

The CP2104 PCB looks like this:

In my Linux machine looks like this:

And it works very well:

And I can confirm is 3.3V the TTL signal. I has 3.46V not connected to the board:

And 3.34 - 3.37V connected to the board:

Next step is to unsolder USB-A connector + DUPPON connectors from PCB, add USB-C with a cable from the whole till the PCB, fix the PCB somewhere in the case and that’s it.

I will post when I will have the finish product.

For who is interested I finished the adapter USB-C to RS232 for BPI-R4. It doesn’t have the best nice looking holding of the USB-C connector, but is doing its job. I’m not going with it to any presentations :smiley:

USB-C connector:

USB-C glued to USB-A 3.0 connector:

CP2104 board glued to 4x RJ45 connectors case:

1 Like

something like that would be nice to have by default on the board + with default case. wondering if there is some sort of feature requests for the next rev’s

1 Like

Indeed. I was surprise to get the board without an TTL to USB convertor onboard.

Hi all,

I’ve updated the USB to RS232 version. The first version doesn’t hold very well on plug/unplug for USB-C connector. So I searched for another solution and I came with this solution:

This USB-C connector has a higher surface to be glued with nano-tape on the case walls.

Second modification I add JST connectors on all boards, including on BPi-R4:

CP2104:

BPi-R4

USB-C connector glued with nano tape on case:

The USB-C connector is pretty long. But to build my own PCB and use shorter USB-C connector is costing too much, so I keep it like this:

CP2104 glued on with nano tape on RJ45 ports:

Final assembly with cables:

In this way if I want to pull out the board from case I must disconnect just one cable: CP2104 → USB-C.

Happy modding! :slight_smile: :partying_face:

This working perfect for me

1 Like

See:

https://forum.banana-pi.org/t/assembled-bpi-r4-case-share/17900

you can’t generalize that. On R3 it’s simply a design flaw to use the same pins for the serial interface and for strapping purposes after power on. The CP2102 there during boot accidentally injects voltages that are erroneously misinterpreted by the strapping logic. You have to blame the BPI board design for that not the CP2102

Future models will have an onboard TTL to USB convertor, just like the OpenWrt One.

1 Like

Hopefully that will b a ftdi converter.

Connecting the usb side of ch340 or alike to another BPI board (R64 in my case) it is prone to giving errors. In my experience, only the ftdi (232RL) converter is really stable when connecting the usb side to a development board or using it with some (probably cheaper) usb hub.

When the is no options to choose which converter to use, I hope the built-in converter will be a very stable one.

The only issue I have with CP2104 is when I’m connecting in the same USB 3.0 HUB CP2104 and a USB3.1 SD card Reader.

Because I have also my mouse connected in the same Hub, some times there is a high current demand for SD Card reader and the CP2104 is starting to give errors.

When I reduced the number of devices in hub, this issue disappeared.

So is not CP2104 related issue, but more about USB Hub issue.

In rest I’m using on BPi-R4 without any issues.

I’m using my BPI-R64 to connect to the debugging console of my other development boards. These are the R3, R4, M7 and an AM3359-board.

So through ssh I can connect to the serial debugging console of any board. This is very usefull for testing (hardware) offloading network.

I’ve tried all sorts of different converters, but, when using (multiple) converters connected to the R64’s usb port, there is only one 1 stable, which is the FTDI 232 (RL)

Did you try CP2102N should work better than CP2104 …

we use HT42B534-2 (CDC-ACM, no driver required)

I would suggest testing (multiple) with the usb side connected to another mediatek devboard.

Some converters (like ch340) are not stable under this condition.