UART issues on BBB

I'm struggling to talk to a modem over the UART. The UARTs in question are 1 and 2, which I enabled using the Adafruit python library.

They can talk to each other fine so I presume they are set up fine.

The problem is that after going through a level shifter they seem unable to communicate to my devices. The GPS module sends data, and it can be received no problem, but sending data seems to be a problem. I have two specific questions.

1) should I be using a common ground? At the moment I am using two separate power supplies as I can't draw power from the BBB. There is currently no ground common to both.

2) is the transmission power from the tx pin high enough to get through the level shifter? Does anybody know what the power of these tx pins are?

GPRS module is SIM900, and works fine with my power supply if connected to my PC via a USB to TTL adaptor.

Any other pointers gratefully received!

I’m struggling to talk to a modem over the UART. The UARTs in question are 1 and 2, which I enabled using the Adafruit python library.

They can talk to each other fine so I presume they are set up fine.

The problem is that after going through a level shifter they seem unable to communicate to my devices. The GPS module sends data, and it can be received no problem, but sending data seems to be a problem. I have two specific questions.

  1. should I be using a common ground? At the moment I am using two separate power supplies as I can’t draw power from the BBB. There is currently no ground common to both.

Always. You should have a TX, RX and GND connectors irrespective of the power supplies. Make sure the TX and RX are crossed and you have the right pins. Then check again and again! Note that the hardware flow control pins are on available on one of the UARTs (if you disable HDMI), so you need to ensure that you disable hardware flowcontrol.

  1. is the transmission power from the tx pin high enough to get through the level shifter? Does anybody know what the power of these tx pins are?

Depends on your level shifter; I’ve used a Sparkfun MAX3232 breakout board and that works really well, I also have a Sparkfun DB-9 to TTL breakout (which doesn’t use a MAX 232 type device) and I’ve never gotten it to work. The TTL voltage should be 3.3v.

Make sure you have the correct overlay loaded (for UART1 and/or UART2), although I think the Adafruit library loads them for you. See:

can you give me uart driver for insmod kernel! use pin UART4