Beaglebone Blue no GPS passthrough for Mavlink?

I’ve been pulling my hair out for days trying to get my uBlox LEA-6H working with BBB and either Mission Planner or QGroundControl. I can get a connection to BBB and see all of the ArduCopter parameters, I have display of accelerometer, gyroscope, and compass information, but no GPS.

I was finally able to use uCenter to change the GPS output to NMEA, which I can read in uCenter and in the Arduino serial window.

I connected the GPS to the BBB (TX–>RX, RX–>TX) but could not see any output in Tio until I switched the leads to (TX–>TX, RX–>RX), which is counter to instructions. I can now see the NMEA output with

tio -b 38400 /dev/ttyS2

but when I start Mission Planner there’s still no GPS information.

I’ve checked the serial port parameters in Mission Planner and they seem correct (serial port 3 connected to GPS at 38400). I’ve tried changing the GPS parameter to both uBlox and NMEA, but neither worked.

I am using Windows 10 powershell terminal to ssh via wifi to the BBB, and Windows versions of Mission Planner and QGroundControl.

I have run out of idea and hope the user community can help me. Thanks.

@Jim3857 Take a look at this:

You need to map the physical UART to ArduPilot Serial device using this Parameter mapping:

start parameter ArduPilot serial port

Example: MAVLink groundstation via radio connected to UART4 and GPS connected to /dev/ttyO5 UART5.

sudo /home/debian/arducopter-quad -B /dev/ttyO5 -C /dev/ttyO4

I have my GPS plugged into the GPS port (UART2) on the BBB. I am running a /lib/systemd/system/arducopter.service script on startup that looks like this:

Description=ArduCopter Service
Conflicts=arduplane.service ardurover.service antennatracker.service

ExecStartPre=/bin/bash -c “/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_21_pinmux/state”
ExecStartPre=/bin/bash -c “/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_22_pinmux/state”
ExecStartPre=/bin/bash -c “/bin/echo pruecapin_pu > /sys/devices/platform/ocp/ocp:P8_15_pinmux/state”
ExecStart=/usr/bin/ardupilot/arducopter $TELEM1 $TELEM2 $GPS



And with a /etc/default/ardupilot file that looks like this:

TELEM1="-C /dev/ttyO0"
TELEM2="-A udp:"
GPS="-B /dev/ttyO2"

I"ve also tried GPS="-B /dev/ttyS2"

This is a sample of my tio output:

debian@beaglebone:/$ tio -b 38400 /dev/ttyO2
[tio 18:36:15] tio v1.26
[tio 18:36:15] Press ctrl-t q to quit
[tio 18:36:15] Connected

Use a lightweight Terminal like Minicom (or screen) and check if you read the GPS signal from the BeagleBone ttyO2

btw make sure it is tty + letter ‘‘O’’ + 2

OK seems to read correctly, generally we leave the GPS in auto detect and it is working fine in ArduPilot

I just got it working…more from desperation than anything else. Here’s my GPS parameter list from QGroundControl. See the bottom parameter for the second GPS? I had that set to “none” because I only have one GPS, but when I set it to “auto” my GPS info started showing up in QGroundControl.

Any explanation for this?

Humm I am mostly working with Mission Planner for setiing up things , I generally use QGC for its looking at live data with the Inspector… Anyway its working now… ENJOY !!

btw you can meet us on the gitter channel: