Start a new topic

UART not working with an Arduino Zero - logic level 3.3V?

 Guys, I am stuck.

I have an Arduino Zero to talk to a 4.3" enhanced Nextion display, without making use of the Nextion library. That does not matter, though, as I am stuck at the very beginning already.

I have uploaded my screen design via SD card - works fine.

I connected the Rx/Tx lines crossed  to the Serial1 Tx/Rx on the Zero.

I set the Serial1 baud rate to 9600 (when uploading a screen from SD, the Nextion informally also says 9600).

I checked the Serial1 with another device - works.

I do not get any result when trying to communicate with the Nextion. Not a single bit.

The only thing I could think of is a mismatch in logic levels: the Zero runs on 3.3V. Do I need a level shifter here?

RX/TX will accept 3.3V logic, but ensure the Display is being powered at 5.0V.  Ensure grounds are common.


Well, tried both voltages (with a level shifter), but no difference. @Gerald: the 9600 is to be seen on the Nextion's display after successfully uploading a TFT file from SD card.
I will check today with a USB-UART bridge and ITEAD studio. If that fails as well I am afraid the UART is fried on the Nextion.

The Prolific USB to Serial is a good cable

Has it ever functioned over serial?

Could the issue be that you are using an Analog Pin,

Maybe ensure you are using digital pins - check Zero docs

Try SoftwareSerial if needed

I think if the Nextion is accepting the TFT via microSD, the mcu on the Nextion is not fried

It is rare for the USART module to be fried and not the MCU

We'll keep troubleshooting.

I don't know much about the Zero in special ... but can it be, that the parameters of your serial communication are just the wrong? Not the Baudrate, I think more about the signals related, like the signal-polarity ...

TRUE(always driven)  (that's what the display need, with 8,n,1)
INVERTED (always driven)  (that's what a real PC RS232 expect)
TRUE (open drain, driven high)
INVERTED (open source, driven low) 

just another thought ...

Hi guys,

thank you for your thoughts so far. I know the Zero quite a bit and am sure to use the correct digital pins (D0 and D1 for Serial1) I checked the Serial1 to be working with anoter device.

The Nextion display is brand new, I have another running since long in another application, but this very one was never deployed yet.

I tested with the USB-UART bridge in the last hour and managed to get a connection between ITEAD studio and the Nextion once, when I held the pins of the TX and Rx wires to the contacts on the backside of the Molex plug on the Nextion board. This was verified with the Zero, a connection was established.

I am suspecting now a broken wire in the short cable from the Molex plug. I will try at home with a different one again.


Login or Signup to post a comment