Using the UART

Important Note

In order to use the UART in a terminal on Linux on the lab machines, you have to run the XFCE terminal emulator from the application launcher.
If you use another terminal emulator, like Gnome Terminal, then you might find you are not in the dialout group (check by typing groups) and so you are not given permissions to open /dev/ttyUSB1.

Another Important Note

While SDK does have a basic built-in serial console, this is line-buffered so doesn't immediately send or display data, and can get very slow when a lot of data is received.
In order to avoid inevitable issues and confusion, and to allow more flexibility in the software you write (like the ability to respond to individual key presses rather than whole lines of text), we recommend not using this.


The Zybo boards used in EMBS appear as a USB serial device when connected to a computer. Under Linux this will appear as a device like /dev/ttyUSB1 or /dev/ttyUSB2.

There are a range of programs that you can use to access the serial device - one of the easiest on Linux is screen. To connect to a serial console, enter:

screen /dev/ttyUSB1 115200

This will connect at 115200 baud rate to the serial device /dev/ttyUSB1

To exit screen, press Ctrl-A, then release Ctrl-A, press k, then answer y.

If screen shows an error when you try to connect saying the serial port is busy, you might have exited it incorrectly in the past so that it is actually still running in the background. To reconnect to a background screen session, use "screen -dr", or kill all your currently running screen sessions with "killall screen". If this does not work, try turning the board off and on again, or rebooting the machine.


If you wish to use a different program, the full serial settings to use are:

SettingValue
Bits per second (baud)115200
Data bits8
ParityNone
Stop bits1
Flow controlNone