Skip to first unread message

Tomas Medina

Sep 7, 2017, 7:08:45 PM9/7/17
to BeagleBoard

I'm trying to have a Beaglebone Black Wireless(debian image 2017-07-01) communicate to another device using UART serial communication. In an example program, the bone waits for the device to send the letter "A", then, upon receiving the right letter, outputs a message and transmits the letter "B". The pins used for transmitting and receiving are "P9_24" and "P9_26" respectively. Here is the following program:

import Adafruit_BBIO.UART as UART
import serial

#Enabling the serial ports

#Serial setup values
ser = serial.Serial()
ser.port = "/dev/ttyO1"
ser.baudrate = 9600  

rx = ""

while True:
    print "Waiting for A... "
    rx =

    if (rx == 'A'):
        print "Got it!"

The program doesn't throw any errors, however, when testing it out with the device, the program gets stuck on the "Waiting for A" line. I have thoroughly checked that all connections are correct and that the other device is sending data. Additionally, the program runs perfectly on an older Beaglebone (debian image 2015-11-12).

Any help into this matter would be greatly appreciated.

Mala Dies

Sep 7, 2017, 9:52:50 PM9/7/17
to BeagleBoard

My name is Seth. Tomas, you may need to add the BB-UART1_TXD and BB-UART1_RXD or whatever pins you are using in the uEnv.txt file. You can add these specific lines, now this is if the pins are still called this on your specific board, by going to the /boot directory and finding your uEnv.txt file. This file can be altered or changed by using vim or emacs or nano and you would have to change the section cape_enable=bone_capemgr.enable_partno= to cape_enable=bone_capemgr.enable_partno=BB-UART1_TXD,BB-UART1_RXD

I am pretty sure this is how it is done. Let me know if this works.


P.S. I have tried to comment the Universal Cape section and delete the comment on the cape_enable=bone_capemgr.enable_partno= section to try this override before. It has worked at times. 

Mala Dies

Sep 7, 2017, 10:28:47 PM9/7/17
to BeagleBoard

Seth here, again. This is just a thought. You may need python-smbus installed on your machine with the correct PATH.


On Thursday, September 7, 2017 at 6:08:45 PM UTC-5, Tomas Medina wrote:

Drew Fustini

Sep 8, 2017, 12:26:32 AM9/8/17
to Beagle Board
You may need to configure those pins for uart mode:

config-pin P9_24 uart
config-pin P9_26 uart

If that does not fix the problem, then please create an issue in the
GitHub repo:

and paste the output of these commands in the issue:

config-pin -q P9_24
config-pin -q P9_26
sudo /opt/scripts/tools/

> --
> For more options, visit
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
> To view this discussion on the web visit
> For more options, visit

Tomas Medina

Sep 8, 2017, 2:03:24 PM9/8/17
to BeagleBoard
Thanks Drew! The commands seem to make it work. I'll leave this open in case I run into any more problems.

Jeff Andich

Sep 9, 2017, 3:17:27 PM9/9/17
to BeagleBoard

I'm also having some issues enabling/disabling UART1, 2 through the device tree, am57xx-evm-reva3.dtb, on the BB-X15.

 I'm attempting this on an am572xEVM, rev a3 with beagleboard image with debian 8.6 and kernel 4.4.30.  Thus far, nothing is coming out the TXD pins when I run minicom on the Beagle and type characters.  I plan to collect some more data and create a separate thread on enabling UARTX on here for the BBX-15, as this seems like it could be of interest to the community and I need its help...

In the meantime, I was wondering if config-pin also works on the BB-X15 as well as the BBB....

I briefly tried the "config-pin" on the BB-X15, but could not figure out how to make config-pin recognize the pins on the BB-X15. Also, I'm not yet sure how to refer to the BB-X15's pins.  I tried expansion_header_pin (e.g. P18_30), but config-pin didn't recognize that

However, when I referred to the BBB's P8 and P9 header config-pin generated the following output:

debian@BeagleBoard-X15:~$ config-pin -i p8_24
Pin name: P8_24
Function if no cape loaded: emmc
Function if cape loaded: default gpio gpio_pu gpio_pd
Function information: mmc1_dat1 default gpio1_1 gpio1_1 gpio1_1
Cape: cape-universala cape-univ-emmc
Kernel GPIO id: 33
PRU GPIO id: 65

debian@BeagleBoard-X15:~$ config-pin -i p9_24
Pin name: P9_24
Function if no cape loaded: gpio
Function if cape loaded: default gpio gpio_pu gpio_pd uart can i2c pru_uart pruin
Function information: gpio0_15 default gpio0_15 gpio0_15 gpio0_15 uart1_txd dcan1_rx i2c1_scl pr1_uart0_txd pr1_pru0_pru_r31_16
Cape: cape-universala cape-universal cape-universaln
Kernel GPIO id: 15
PRU GPIO id: 47

debian@BeagleBoard-X15:~$ cat /etc/dogtag Debian Image 2016-11-06

Thanks, jeff..
Reply all
Reply to author
0 new messages