I’ve been trying to attach a serial device to the beaglebone black and communicating with it over UART 1 (p9_24 and p9_26) with no success.
In part because I am new to linux and have no idea how to ping/check connected devices over terminal and NO prior electronic knowledge to insure the device is properly wired up to the beaglebone black.
I’ve attached a wiring diagram below. Can someone please confirm:
- That I’ve wired it correctly by looking at the diagram
- That the supplied voltage from the BBB is sufficient to power the attached device (3.3V TTL)
Mapping explained (see device diagram):
Pin 1 VCC § to 3.3Vdc on the BBB (p9_03)
Pin 2 GND (G) to GND on the BBB (p9_01)
PIN 3 TXD (O) to UART1 RX on the BBB (p9_26)
PIN 4 RXD (I) to UART1 TX on the BBB (p9_24)
It looks good to me, as long as you are drawing less then 250ma.
Your wiring and voltages look fine.
However you have to ‘enable’ the other serial ports.
Try searching for “enable /dev/ttyO1” on this list or via Google.
“No one could make a greater mistake than he who did nothing because he could do only a little.”
“All that is necessary for the triumph of evil is that good men do nothing” Edmond Burke (1729 - 1797)
I would make sure that the Analog device IC has the output TX connected to the TX on the Ext. Board and the input RX to RX. I wish I had a nickel for every time I saw the DTE (Data Terminal Equipment) and DCE (Data Communications Equipment) swapped.
It would be helpfull to probe the RX and TX line to see if there is activity on it using a logic analyzer or o-scope. This will let you verify the TX/RX and baud rates of the two devices. I did not have to change any configuration or enable anything to get the UARTS working using Bonescript commands on my two Rev C BBB’s. I have a simple HTML/Java app that you can point to from Chrome to send out data bytes on the UART if you want that let me know, I havn’t gotten to the receive part of my app yet. I am probably less experienced than you with software so this is the only way I got the UARTs working.
Thanks for the replies.
I managed to get it working with your help:
Make sure RX on serial device points to UARTX TX and TX on serial device points to UARTX RX.
nano /boot/uboot/uEnv.txt add “optargs=capemgr.enable_partno=BB-UART1” or alternatively add a systemd service (I’m running Debian) to execute the command “echo BB-UART1 > /sys/devices/bone_capemgr*/slots”
to make sure this succeeded:
run : ls /dev/ttyO* - you should see ttyO1
run cat /sys/devices/bone_capemgr*/slots - you should see BB-UART1 added to the output.
This pretty much enabled UART over serial for me.