About the TX/RX connector pairs voltages in M6E NANO.

The M6E Nano board has two TX/RX input pairs, one in front of the board (used by the Serial Basic Breakout) and one on the side (used by the Arduino board). My questions are:

  1. Are the TX/RX inputs in front of the board (used by the Serial Basic Breakout) designed to take 3.3 volts?

  2. Are the TX/RX inputs on the side of the board (used by the Arduino board) designed to take 5 volts?

The reason I am asking is because I am currently connecting a Raspberry Pi to the RFID board using the TX/RX inputs in front of the RFID board (I am bypassing the Serial Basic Breakout) but I am getting sporadic errors. I suspect the reason for that is because I am using a 12" long cable between the Pi and the RFID board and that cable is probably too long for 3.3 volts logic.

So my plan is to use one of those Logic Level Converter (https://www.sparkfun.com/products/12009) between the Pi TX/RX pins and the RFID board side TX/RX pins (used by the Arduino board) to switch between 5 and 3.3 volts (The Logic Level Converter will sit as close to the Pi as possible). My hope is that by running 5 volts through the 12" long cable the sporadic errors will stop.

Does that sound like a good idea or am I looking for trouble?

Thanks.

I expect you’ll get into trouble.

The TX/RX on the FTDI connection in front and those on the pins are the same. The pins on the side just have a switch (HW /SW) in between where the RX/TX are switched between pin 0,1 and pin 2,3. But there is no other hardware or logic in between.

On the Nano board, there is a level converter (TXB0104) which converts between the onboard 3V3 and external VCC (5V). You always have to power the board with 5V .

When I tried to connect the Nano to an ESP32 (a 3V3 device) the onboard level converter and external converter (same as you point out) did not play well together. What I ended up doing was making a resistor divider on the Nano TX line to the RX on the ESP32. There was no need to make changes to the Nano RX line.

Some thoughts:

Try to reduce the speed with which you communicate ( parameter setting)

The Nano is very sensitive to power. Try connecting a strong external power supply to the Nano instead of sourcing the power from the Raspberry.

Check whether you also get these problems with a longer USB line

Maybe… try a resistor divider to reduce the incoming TX from the Nano. Something like

TX- nano  --- 1K ---!---2K--- GND
                    !
             RX RaspberryPI

Thanks Paul, really appreciate your responses, I always learn something from them!

So, I am still in the process of experimenting with this and that, however, somethings you motioned on your reply caught my eye and I wanted to make sure I got it right.

  1. Both TX/RX pairs on the Nano are electrically connected, in essence they share the same PCB trace sorta speak (I verified this with my continuity meter and seems right), at first I thought one pair worked with 3.3V and the other with 5V but that is not the case.

  2. The TX/RX pairs (any of the two pairs) can take either 3.3 or 5 volts, either way, the voltage from any of the RX inputs will be converted to 3.3 volts and the voltage from any of the TX outputs will be converted to vcc (whatever vcc is).

  3. Regarding the CH340G breakout board. Am I correct in assuming that if I operate the CH340G on 3.3 volts then the TX/RX on the CH340G should input / output 3.3 volts but if I operate the CH340G on 5v then the TX/RX on the CH340G should input / output 5v? By operating voltage I mean changing the Voltage Selection Jumper on the CH340G board.

  4. If point number 3 is correct then, if I am powering the Nano using an external power supply (not USB power) of 5 volts. I better setup the CH340G to operate on 5v, otherwise weird stuff may happen (including magic smoke).

Many thanks in advance for the help.

You are correct on points 1 and 2. On Points 3 and 4. When you use the CN340G, you will power the Nano Board with the 5V from the USB. If you want to connect an external 5V, there as JP1 on the bottom of the board which you can cut( see https://learn.sparkfun.com/tutorials/si … e-overview and look for the JP1 chapter)… The Nano chip itself has an onboard regulator which creates the 3V3 for the board.

paulvha:
When I tried to connect the Nano to an ESP32 (a 3V3 device) the onboard level converter and external converter (same as you point out) did not play well together. What I ended up doing was making a resistor divider on the Nano TX line to the RX on the ESP32. There was no need to make changes to the Nano RX line.

So I tried using different voltage level shifters to interface between the Pi and Nano and I kept running into issues (same as you did), sometimes it works and sometimes it does not. I would expect that using a voltage level shifter would be a rock solid solution. I wonder what in the world is going on.

A level shifter (apart from the resistor divider) was not working stable for me either. 2 level shifters just after each other (one on the NANO board and another external) seemed to work together. Did you try to connect TX and RX ?

Yes, both TX and RX pins from the Pi were connected to the low voltage side of the shifters (Sparkfun part number BOB-12009and BOB-11771), the respective TX and RX high voltage side of the shifter were connected to the TX and RX pins of the Nano (TX to RX and RX to TX). Sometimes things work flawlessly, then for no reason they would stop working. My spider senses tell me this is an issue with the Pi, but is just one big guess.