Adding an external serial console port to NanoPi R6S

I had no trouble with my first experience with NanoPi R6S while installing and running the FriendlyWrt/OpenWrt 22.03 image, but that was another story when testing Ubuntu or Debian as the mini PC would not boot at all after flashing the images with eFlasher apparently successfully, but suspiciously fast (under 2 seconds).

I spent nearly four hours trying the different images and then the Rockchip Windows utility, but all my attempts failed, and FriendlyElec was not overly helpful. So I decided to connect a serial console to see what was going on. The NanoPi R6S comes with a 3-pin header for the serial console, but it’s not populated.

serial console port NanoPi R6S

So I soldering one, but not at the top of the bottom, and instead at the bottom since it would allow me to still use the metal enclosure to cool the processor.

3-pin serial console header soldered to NanoPi R6S

Some readers, or at least one, often complain about the lack of external access to the serial console in routers to debug issues without having to disconnect the device and open it up. But with the NanoPi R6S, it’s fairly easy to create to add an external serial console port by soldering the header on the bottom side of the board and then making a hole in the bottom plate.

UART console opening

I used a power drill and a file tool, and the result is functional but not exactly neat. People with better skills than me or a CNC machine could make something neater.

GND Tx Rx markings

I’ll also pretend I did not center the hole on purpose in order to be able to see the markings (GND, Tx, Rx).

NanoPi R6S DIY external UART console

But it does the job and we can now access the serial console without having to tear down the router, simply connect Tx, Rx, and GND to a USB to TTL debug board with jumper wires and we are good to go. I had to cut the headers by about 1 mm to prevent them from touching the desk once we are not using the serial console anymore. A plastic cover would be nice, and looking around in my office, plastic bits covering HDMI cables seem to be good candidates for this purpose, provided we make a hole of the right size.

It works within the eFlasher utility or when I boot the FrienlyWrt/OpenWrt image using 1,500,000 bps baudrate stipulated in the wiki:


But there’s no output at all with Ubuntu or Debian. So something must be wrong while flashing the image inside the eFlasher utility especially since it just takes one or two seconds to complete the “firmware upgrade”, I’m guessing some issues with the MicroSD card (I/O errors or too small), but that will be for another day.

I hope FriendlyElec considers providing easy access to the serial console in their future routers, as it should cost close to nothing to implement a solution as described above.

[Update: Pastrav has come up with a nicer way to add a serial port to NanoPi R6S using a 2.5mm audio connector attached to the hole reserved for an antenna. See comments for details.

NanoPi R6S audio jack serial port

]

This is it for the 10,000th post published on CNX Software!

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
19 Comments
oldest
newest
Willy
Willy
1 year ago

I feel like I’m “at least one” of the readers who often complain about the lack of console on their boards 🙂 Indeed it’s more accessible on this one, but frankly, having a micro-USB port accessible costs nothing either and provides way more value than just exposing pins and requiring the user to find a working USB-TTL adapter. By the way the flashing problem you faced sounds very similar to the one I faced with my Station-M2 with the crappy rockchip flashing tool. This thing has trouble selecting the proper flash and in my case it mistakenly flashed the MMC… Read more »

Willy
Willy
1 year ago

> I think giving access to the serial header without having to open the device would already be a nice improvement. Sure, I don’t deny this, and that’s what I had done on a dockstar and a goflex home. But each time I want to use them I need to find an unused TTL adapter. It’s still better than having to also take the screwdriver. > They’d need to add a USB to a serial chip and a micro USB port otherwise. The CH340E was something like $0.50 or so last time I checked. There’s definitely no excuse for not… Read more »

Theguyuk
Theguyuk
1 year ago

@@@@ Awarded For Excellent Article @@@@@

Given by Theguyuk ( creep 😇 )

To Jean – Luc Aufranc ( if as a award receiver, he accepts the Award ).

Publish long and financial proper 👍🎀 🎄⛄🇬🇧

PS No I don’t have substance, alcohol issues.

Pps the value of this Award is probably rated at 1% + – 10%

Pastrav
Pastrav
1 year ago

I think there’s an easier and cleaner way of adding a serial port to the R6S: insert a thin 2.5 mm audio jack into the antena hole in the case.
Here’s how it looks:

DSC_2233_1.JPG
Pastrav
Pastrav
1 year ago

One of the regulars on cnx recently suggested using audio jacks, great advice.
Here’s a block terminal to 2.5 jacck converter hooked up to an ftdi 232

DSC_2234_1.JPG
Willy
Willy
1 year ago

I’m one of those suggesting jacks when it’s too difficult to make a large hole (though the plug can be large behind). I’ve borrowed this idea from CASIO calculators 30 years ago when I was still a student, they were also using 2.5mm jacks for file transfers.

Pastrav
Pastrav
1 year ago

yes, I couldn’t find the original comment thread. Kudos !

Dru Nelson
Dru Nelson
1 year ago

This is a nice way to get a serial port. Thx

Dru Nelson
Dru Nelson
1 year ago

Congratulations on post 10k !

domih
1 year ago

Indeed, 1250 x 8 = 10,000.

10,000 kudos for all these posts!

PaulF8080
PaulF8080
1 year ago

Can’t you you use OpenOCD using the SWD port next to the serial port? Bypassing the bootloader, maybe? JTAG debug maybe?

Rogan Dawes
Rogan Dawes
1 year ago

I think I did the UART on a 3.5mm audio jack about 10 years ago, for my DNS323: http://dns323.kood.org/hardware:serial
It certainly is a neat and convenient way of doing it. Aided by the FTDI -AJ variant of their USB-UART, of course!

Theguyuk
Theguyuk
1 year ago

This is cnx Software at its best. Group think, blue sky, solution seeking. With participants feedback and lived experience expression.

Very most illuminating 😀👍

tkaiser
tkaiser
1 year ago

Does this mean USBImager is not verifying by default or is the verify OK (AKA similarly flawed since the corruption happens while decompressing)?

Khadas VIM4 SBC