Enable UART’s on Element 14 Beaglebone Black rev C

This is specific for the Beaglebone Black model C sold through Element 14 which includes retailers like Adafruit. There is quite a bit of info out on the net on how to enable the UART’s but for some reason, locations of things have changed.

To check if this instruction is going to be valid for you, check to see if you have a file ‘uEnv.txt’ in your /boot folder. NOT in /boot/uboot folder!  If so, good chance you’ve found the right how-to for you.

Open /boot/uEnv.txt with nano

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
nano /boot/uEnv.txt
nano /boot/uEnv.txt
nano /boot/uEnv.txt

Add the line somewhere in the file, probably at the end is a good place

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5
cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5
cape_enable=capemgr.enable_partno=BB-UART1,BB-UART2,BB-UART4,BB-UART5

This line will enable UART’s 1, 2, 4 and 5. Note, 0 is used by the console and 3 is a transmit only UART.

Save the file using CTRL-X followed by a Y and [ENTER].

Now reboot

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
reboot
reboot
reboot

Once it’s restarted, you can check to see if the UART’s have been enabled using

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ls -l /dev/ttyO*
ls -l /dev/ttyO*
ls -l /dev/ttyO*

The O is a capital Oh not a zero.

You should expect to see:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
crw-rw---- 1 root tty 247, 0 Nov 12 2015 /dev/ttyO0
crw-rw---T 1 root dialout 247, 1 Nov 12 2015 /dev/ttyO1
crw-rw---T 1 root dialout 247, 2 Nov 12 2015 /dev/ttyO2
crw-rw---T 1 root dialout 247, 4 Nov 12 2015 /dev/ttyO4
crw-rw---T 1 root dialout 247, 5 Nov 12 2015 /dev/ttyO5
crw-rw---- 1 root tty 247, 0 Nov 12 2015 /dev/ttyO0 crw-rw---T 1 root dialout 247, 1 Nov 12 2015 /dev/ttyO1 crw-rw---T 1 root dialout 247, 2 Nov 12 2015 /dev/ttyO2 crw-rw---T 1 root dialout 247, 4 Nov 12 2015 /dev/ttyO4 crw-rw---T 1 root dialout 247, 5 Nov 12 2015 /dev/ttyO5
crw-rw---- 1 root tty     247, 0 Nov 12  2015 /dev/ttyO0
crw-rw---T 1 root dialout 247, 1 Nov 12  2015 /dev/ttyO1
crw-rw---T 1 root dialout 247, 2 Nov 12  2015 /dev/ttyO2
crw-rw---T 1 root dialout 247, 4 Nov 12  2015 /dev/ttyO4
crw-rw---T 1 root dialout 247, 5 Nov 12  2015 /dev/ttyO5

To test it, you can use minicom in two ssh terminals with ttyO1 connected to ttyO2 like this:

First type

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
minicom -v
minicom -v
minicom -v

If minicom is not found, install using

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
apt-get install minicom
apt-get install minicom
apt-get install minicom

Using 4 pieces of jumper wire, connect P9_21 to P9_26 and connect P9_22 to P9_24 like what is shown in the picture:

beaglebone UART1 to UART2

Beaglebone black showing how to connect UART1 to UART2

Open two ssh terminals side by side. In the first ssh terminal run

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
minicom -b 9600 -D /dev/ttyO1
minicom -b 9600 -D /dev/ttyO1
minicom -b 9600 -D /dev/ttyO1

In the second ssh terminal run

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
minicom -b 9600 -D /dev/ttyO2
minicom -b 9600 -D /dev/ttyO2
minicom -b 9600 -D /dev/ttyO2

With the two terminals next to each other, type something in the first terminal and you should see it in the second terminal. Type something in the second terminal and it should also appear in the first terminal.

Use Ctrl-A then X to exit from minicom.

Happy developing with the Beaglebone black!