NMEA 0183 $GNGGA Support

Good day BlueRobotics,

I am trying to install a GPS into a Navigator flight controller. I am using a NMEA 0183 GPS with a USB output. I have the GPS configured to output positions at 9600 baud. I have setup a serial bridge to bring in the NMEA data and bridge it to output on UDP 27000.

I have a NMEA injector setup to bring NMEA in on socket UDP:27000 and output on Mavlink Component #220.

I have parameter setting GPS_TYPE set to MAV.

QGroundcontrol is positioning my ROV at 0deg lat/0deg Long.

My GPS is outputting a $GNGGA string rather than a $GPGGA which I understand is technically correct since the systems doesn’t only run on the GPS system but also Galileo, Gloass, Beidou etc.

Can you tell me if the NMEA Injector will support $GNGGA? If so, do you have any other ideas as to why I am not getting the NMEA position into MAV?



Hi @mcook, welcome to the forum :slight_smile:

GGA messages should be accepted, so it’s unlikely that’s your issue.

Assuming your GPS has signal, I’m not certain why the connection wouldn’t be working.

Given you’re using a Navigator, one other thing you can try is updating to the latest beta release of BlueOS (requires turning on Pirate Mode to see the additional versions), and then configuring the USB port as a serial port available to the autopilot, via the Settings / Autopilot Firmware page. Note the GPS_TYPE should just be configured as AUTO or NMEA in that case, and no NMEA injection via MAVLink is required.

If that doesn’t help I’ll pull in a member of our software team with more experience with GPS setup on the Navigator :slight_smile:

Thanks for the info Eliot.

I found that if I used the specific baud rate for the $GPGGA being sent from my GPS to 115Kbaud I was able to get the signal on through to UDP 27000 no problem. If I created a bridge for any other baud rate, it would not get through. It seems there is something hard-coded only to accept 115Kbaud.

As a side note to anybody who might be trying to do this, while I was able to get the NEMA 0183 string to go through at 115kb, the fastest update rate for that old chipset was only 1hz. EKF3 would show a lock (green LED on the Navigator) about 40% of the time but it would constantly lose the lock. I went to a Ublox GPS (Version 8 which allowed both GPS and Glonass giving a tighter position) which I could set for an update rate of 5hz which satisfied the EKF3 and it is a solid green LED.

My goal was to try to run a mission with the vehicle on the surface from one waypoint to another using the GPS for position but it seems that running missions isn’t implemented in Ardusub yet. Oh well, I learned a lot in the process. If anybody has any thoughts on running a mission with BlueROV I’d be very interested to know.

1 Like

Hmm, interesting. I’ve brought that up with the software team in case there’s some issue with the bridges service.

Glad to hear you managed to at least get a working solution :slight_smile:

It may work - please see this thread for some context :slight_smile: