how to enable serial console in nano pi neo 3

Hi, i´m wondering how can i achieve enable the serial console (i know it is in advanced options) but i cant see data from serial, i’ve connected the tx from an esp8266 to debug and rx pin on gpio from the nano but no luck…

any help will be appreciated, thanks!

An update:
with command:
cat /proc/tty/driver/serial

i can see the rx is receiving data from the esp… (connected in the debug port) in gpio it doesnt see anything…
in node red i have some permission issues i take a look to the user that is in tty gruop with:
ls -l /dev/ttyS2
which throws:
crw–w---- 1 root tty 4, 66 Feb 6 18:56 /dev/ttyS2

i’ve tried to add to group ‘tty’ with: usermod -a -G tty nodered

But no luck in nr…
keep trying

Copying from the other topic, though I see you use ttyS2 already, just output does not work? Did you use the right baud rate? It is 1500000 by default, check /boot/boot.cmd. I guess it would support 115200 as well, like most UART devices do.

On NanoPi NEO3 the serial device ttyS2 should be enabled by default. Not sure what about ttyS0 and ttyS1, can you try to change the line



extraargs=net.ifnames=0 console=ttyS0,115200


extraargs=net.ifnames=0 console=ttyS1,115200

(the quotation is not required)

There is an overlay to enable UART4, which is likely ttyS3. To enable it, add the overlays line yourself:


Boot output can then be enabled the same way as above. To enable a login console on a UART, e.g. for ttyS0:

systemctl enable serial-getty@ttyS0

while this may not be required when it is enabled for boot output (extraargs) and a serial console connected. systemd has an auto-generator to enable a login prompt then.

thx for the reply :smiley:
in which file i have to add the extrargs?

i suppose overlays=uart4
I had to manually add in /boot/armbianEnv.txt right?

tested all but no luck… :frowning:

this is armbianEnv.txt after edit:

extraargs=net.ifnames=0 console=ttyS1,115200

console=serial is anything to do ?

Yes that is right in /boot/armbianEnv.txt. Does ttyS3 now exist after overlays=uart4 was added?

ls -l /dev/ttyS3

console=serial enables boot/kernel messages at ttyS2, which seems to be the debug port when it does receive data from it. Did you check the baud rate of the serial console client, whether it is set to 1500000, when using ttyS2?

Btw, I see another quirk. In /boot/armbianEnv.txt replace




Looks like we should regenerate our image. Though I don’t think that this effects UARTs.


fdtfile=rockchip/rk3328-nanopi-neo3-rev02.dtb ← this enabled the uart of gpio

Now i have another problem… when i ran:

ls -l /dev/ttyS1

it says:

crw------- 1 root root 4, 65 Feb 10 19:26 /dev/ttyS1

so the group of ttyS1 is root and i can’t access from node red…
i thought the tty’s were in the dialout group

i don´t know how but disabling in dietpi-config → advanced → serial/uart
i’ve disabled the ttyS1 to get getty disabled…
also tried:

sudo systemctl stop serial-getty@ttyS1

sudo chmod 666 /dev/tty

and rebooted…
i don’t know which command or config leave the ttyS1 in the dialout group instead of root group :thinking:


what a great community :slight_smile:

the last solution was tried following the next pages:
forum arduino
ask ubuntu

Was it /dev/ttyS1 only with wrong group or other serial devices as well? I haven’t observed it yet, but probably the login console changes it to root, i.e. disabling the serial console in dietpi-config would then have solved it (which includes it being stopped :wink:).

A manual chmod wouldn’t be persistent. If for some reason the dialout group is still not present, we could place a udev rule to apply right owner and mode immediately when the devices are detected by the kernel on early boot stage.