Is it possible to use only RX / TX of the UART1 of the Yavia carrier board with SoM NXP i.MX 8M Plus

Hi,

we have the following Hardware:

  1. Carrier Board: Yavia | Verdin Familie Trägerboard
  2. SoM: NXP i.MX 8M Plus - Verdin System on Module
    (https://docs.toradex.com/111745-yavia-v1.0-datasheet.pdf)

If the UART1 RX line is connected to the TX line the following works.

But if we try to connect an external device for the UART communication we can only send UART data and nothing is received.

If we substitute the toradex board with an Raspberry Pi and run the exact same program for the UART communication we can send UART data and receive.

Any ideas?
Is it possible to use only the RX/Tx lines of the UART1 of the Yavia carrier board?
Or is there a configuration to only use 2 lines for the UART ?

We are using the default TorizonCore 6.4.0

Do you mean using UART1 from TorizonOS (i.e., Cortex-A processor)?
If this is the case, I don’t see any problems.
I did tests in the past connecting my PC to the Yavia with iMX8M-Plus running TorizonOS and everything works.
But there is an important point. I think you have already noticed it looking the Yavia schematics, but just in case…
UART1 lines are not connected to the USB A or C connectors of the Yavia, but they’re available on the expansion connectors


And they’re native 1V8 TTL lines.
If you want to connect UART1 to another device you should take care of the voltage levels.
As an example, if you want to connect it to the RS232 of your PC you need a device similar to this one

We already use an level shifter from 1.8V to 3.3V
So my main question is why are there 4 Lines for the UART1 and do I have to use all 4 ? If we just use the default TorizonCore 6.4.0, is the default mode RS485 or can I just use the RX / TX lines like we do with an raspbery pi?

I use only TR/RX, so I don’t think that RTC and CTS are required.

Currently, I think it is related to Qt! We have to use QtSerialPort to read and write.
We are using QCoreApplication (which I think triggers the global events for the QtSerialPort).

Our Docker container has the following libs added :
qt6-base-dev:arm64
libqt6serialport6-dev:arm64

But maybe we are still missing something

Dear @dan

Could you let us know what device you are trying to communicate with?
The necessity of using CTS and RTS is dependent on the device you are using.

Hi,
we had a raspberry pi to controle a robot and we are now substituting the raspberry with the following Hardware:

  1. Carrier Board: Yavia | Família Verdin Placas base
  2. SoM: NXP i.MX 8M Plus - Verdin System on Module
    (https://docs.toradex.com/111745-yavia-v1.0-datasheet.pdf)

Would it be possible to let us know, what the device, to which you have connected the Yavia and Verdin, looks like? We need to know what the exact architecture of the second device is, in order to determine what signals are necessary for communication.

Best regards
Collin

Hi @dan
Please ensure that hardware flow control is disabled on both ends of the UART communication.