Serial Input, HDMI output

Hello, niche question that I haven’t found a definite answer to.

Trying to reduce the number of peripherals I need for development. I can use a keyboard/mouse/monitor normally, but I’d like to use a USB-to-Serial connection with my laptop for keyboard/mouse, and then pipe the output to my external monitor via the HDMI port.

I’ve gotten the USB-to-Serial connection working by following the jetsonhacks tutorial, but when I type xrandr to try and configure display, I simply get “Can’t open display”. However, I know that the jetson connects to and recognizes the display because if I connect USB peripherals at the same time, I can see output on my external monitor. So is there a way to make the serial connection I have with my laptop talk to an external monitor connected to the Jetson’s HDMI port?

Thanks in advance

Hi nacorti,

Sorry that I am not sure how is the hardware connection here. Could you elaborate what is usb-to-serial? What is connected to the jetson nano?

Sure - I followed this tutorial ( to connect a USB cable from my laptop to the J44 pins on the nano. This allows me to start a PuTTY session on the laptop and execute commands on the Jetson by typing them into the laptop, similar to the interface for SSH but with a different connectivity layer.

I also have a separate monitor plugged into the HDMI port on the Jetson. I’m wondering if there’s a way to configure my Serial console session to display outputs on the separate monitor connected over HDMI.

Hi nacorti,

Got it. You are using the UART interface to send out commands from/to nano and your host.
This is common way for us to debug too.

Unfortunately, UART is also known as a low speed I/O. You should notice that you are using baud rate 115200 to transfer data. It is not possible to use such low throughput to send each frame on HDMI.
Common way to achieve your goal is using other 3rdparty remote sharing like vnc.

First part is correct

Second part I’m being unclear: The HDMI cord is going from the output on the Jetson directly to the external monitor. So although I realize that UART is a slow I/O, I don’t see how it could bottleneck the display feed if that display isn’t going through the UART and instead is going directly from Jetson to monitor.

So in sum the I/O flow should be

input command via Serial console on laptop -> UART to Jetson -> command executed on Jetson CPU/CUDA cores -> visual output to Jetson HDMI port/cord -> external monitor

Is that possible?

Hi nacorti,

Ok, so you just want to send command from uart to control the app to run on screen.

Please run “export DISPLAY=:0” or “export DISPLAY=:1” in your uart console and then try xrandr.
It should show the monitor info.