[BPI-R4] UART0 serial port voltage tolerance

Hi all,

Unfortunately BPi-R4 doesn’t have a USB to serial interface integrated. Now I’m using a MAX3232 powered from the board at 3.3V and using an external RS232 to USB cable. Because of this I’m trying to hack a little bit my BPI-R4 and add a USB to serial IC, like CP2104, inside the case with an USB-C female connector to one of the holes in case:

I want to power this chip from USB-C cable and not to use any additional cabling on BPI-R4, because I don’t have a power pin for UART0. In this way the chip will be turned off when I don’t use serial port.

From the schematics we have the UART0:

image

But in the MT7988 documents I can’t figured out if is 3.3V or can work also with 5V:

Only 3v3 please…and there are ftdi232rl with usb-c but hard to mount in case because they do not have holes.

So my way was to bring pins to outside and leave the usb2serial also outside…on r2 i had also mounted adapter inside

Hi @frank-w,

Thanks for quick answer. I checked CP2104 and it uses 3.3V as main Vdd:

I can find a place where to glue the PCB and then I go with cables to a USB-C female receptacle glue to the hole.

I also “worked” on this this mounting hole problem:

For CP2102N i found this:

Adafruit has also something (with a poor hole design):

Because I’m a laiman, and often destroy my stuff with short circuits, i wanted to be safe. So I decided for an isolated USB to UART Adapter:

But the chip is a WCH CH340C.

The voltlink and CAPUF embedded boards I have at home. But not tested yet …

Cp2102 do not work well with mediatek filogic…on r3 we had issues with wifi

Ch340 mostly have 5v,so be careful

1 Like

Oh no :see_no_evil:

With R3 i use a Adapter from DSD TECH: SH-U09B3 which has also the CP2102N

CP2102N should be better than the CP2102 and CP2104. I had not problems with CP2102N, but because I’m connected via UART I did not “look” for wifi :face_with_peeking_eye:

The board from CAPUF embedded has DIP switch for 3,3 volt. May be its better I check it before the connection. I try not to destroy my board <again …> :grimacing:

1 Like

the problem with wifi on r3 was because of pulldown of uart / pullup of adapter

2 Likes

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

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