Unable to use UART 1 on NnoPi NEO 3 -->Use Debug UART but boot issue breaks it


I have litterally spent days trying to use uart1 from the GPIO bank on the NanoPi NEO 3 without success

The schematic indcates the two pins as uart1

8 GPIO3_A4/UART1_TX (Linux gpio 100)
10 GPIO3_A6/UART1_RX (Linux gpio 102)

By default, the Neo3 has a multitude of /dev/ttys (ttyS0–>ttyS7), (tty,tty0–>tty63), ttyGS0. I have tried all those with an index <10 and the only one that respond to any command is /dev/S2 i.e. the UART2 used for boot debugging. However I have utterly failed with the uart 1 on gpios pins. I also disable serial console from dietpi-config but that seems to make no difference.

Question 1:
Can anyone give me a hint on how using uart1 shoud work? BTW, in the folder :/boot/dtb/rockchip/overlay there is a rockchip-uart4.dtbo that I have also tried as overlays=uart4 in the /boot/armbianEnv.txt file but still no idea what pins that uart4 would use, /dev/ttyS4 still does’t wotk with stty anyways…

Out of desperation I tried to use the debug interface /dev/ttyS2. That one respond to stty command and I can set it to 115200, loopback (shorting TX and RX) works fine, I was even able to get gpsmon to work and see all the NMEA serial data from a GPS module connected to it. This debug interface has the tx and rx pins on a separated header on the nanopi Neo3. In general that would be enough for me as all I need to do is talk to that GPS module. However:

if I leave the GPS module connected to the nanopi Neo 3 debug uart, it won’t boot!! I need to unplug the RX pin on the NEO3 to make it boot. Once the green led start to flash I can then reconnect the RX (NEO)–>TX(GPS) and everything works again. I was thinking that the issue may be with the default debug uart baud rate of 1500000, so I added an stty command to rc.local to change that to 115200 but still no joy (maybe the rc.local happens too late?)

Question 2:
Why is the NanoPi NEO3 not booting if it is receiving data on the RX pin of its debug uart?!?

I’m seriously stuck!



I installed Armbian as a test and the uart1 worked out of the box. It looks like the uart1 may be disabled in the nanopi neo3 dtb that comes with DietPi? Issue is sorted.



I Know this is an old post … however I thought it might be useful for anyone scrolling through
I installed Armbian on the Nanopi NEO 3 and got the UART1 working, by connecting RTS to CTS lines (Pins 16 & 18) …