GARMIN GPS18x LVC on BlueROV not working consistently

I am trying to add a GARMIN GPS18x LVC to my ROV. The previously had an Adafruit Ultimate GPS working on the vehicle, but it died and we moved onto something a bit higher quality.

I had to use a MAX3232 RS-232 to TTL converter to interface with the GPS and got this working where I could read the message with a USB to TTL converter on my pc.

Now, when trying to connect to the ROV, my GPS signal connects for 1-2 seconds, then drops for 8-9 seconds consistently. Are there any thoughts on what may be causing this?

An update, the GPS gets a fix for 4 seconds, then drops out for 8 seconds. This pattern continues continuously for the entire time the GPS is connected.

I have seen other forum posts on ardupilot that experience this same issue but no one has a solution

Sadly GPS doesn’t work in water, GPS units usually have a frequency of around 1.3 GHZ. So a typical GPS signal has a skin depth of 5-6 mm . That means that the signal loses about 36.7% of it’s amplitude after only 5-6 mm. The signal is reduced to 1% of its amplitude after only 2.87 cm.

Hi Craig,

Your statements are spot on.

I am getting these results on a bench out of the water. We want the GPS for positioning before and after a mission when we are at the surface, so no attenuation issues there

Hi @cmarq,

I don’t have much experience with using surface-based GPSs, so brought this up internally for suggestions. The recommendations were

In addition, it may be helpful if you specify a bit more about what software you’re running, and how you’re trying to connect the GPS (e.g. is it via an autopilot serial port, or via a USB port on the Onboard Computer with the BlueOS NMEA Injector?).

Hi Eliot,

The GPS is not officially supported by Ardupilot. Although neither was the Adafruit Ultimate GPS that I was using before and it worked perfectly.

The GPS is limited to 1 Hz update rate. Once again, the Adafruit Ultimate GPS also had default update rate of 1 Hz and worked perfectly.

I am connecting via the GPS port of the Pixhawk. I am using a blueROV2 with the PX4, not running BlueOS.

The GPS is configured for 9600 baudrate, same as the previous GPS.

My final test was to connect the GPS VCC/GND to the blueROV Pixhawk GPS port. Then read the RX/TX lines through an Adafruit USB to TTL converter connected to my PC. The NMEA strings were reading at 1 Hz with no drops. Then I simply disconnected the TX/RX from my USB to TTL converter, and connected then to TX/RX of the Pixhawk GPS port and got a signal from the GPS in QGroundControl, but it drops out and back in very consistently in intervals of 4 seconds on, 8 seconds off. Here is a plot of the GPS_RAW_INT message

Hi @cmarq

Can you provide us some logs? that might help with troubleshooting.
In this case I think either telemetry log or dataflash log should have the GPS information.

Hi William, here is a log file from the last bench test I did. The GPS was not hooked up at the beginning, but you should see RAW_GPS_INT messages start coming in with the pattern I talked about at some point

2022-11-02 11-32-15.tlog (3.0 MB)

Hi @cmarq,

I wonder if this is an issue with the GPS itself? or maybe power going into it?
Is there a “fix” led you can keep an eye on to check if the actual gps maintains a fix?