First time getting "Bad GPS Health" message

I’ve never received this error message before. I received bad gps message earlier today while on the ground, but I was under trees so I ignored it. Several flights later and I got the error again while above the tree line during a mission (log below). Can anyone educate me? Is GPS going to die on me soon? It’s about a year old with 500+ hours of flight time.


Bad GPS Health message means that the gps is missing a refresh (last message is older than 245ms). It can be jut an intermittent error or a faulty connection.


So this error is related to the connection between the GPS and flight controller, and not an issue w/ GPS reception? Or could it be either?

Sensor health means that the FC code got a regular sensor data, no data quality is not checked at that stage. So it means a bad connection or a slower that 5Hz update rate, and not related to GPS reception.

Thank you.
I’ve got a copter that started doing this after I updated to the latest master… I went back to 3.6 and it stopped!
I’m not going to worry about it for now… I’ll revisit the issue if it’s still like this after the official 3.7 release.

Where are you located in the US? The USN Carrier Strike Group 4, and USAF 527th SAS are conducting GPS jamming tests across the US at various times and places for the entire month of February, and into the first half of March.

The latest exercises started this week by Carrier Strike Group 4

The tests thru March are central US by USAF Space Command in Colorado.

Have to keep in mind that GPS is a military asset, controlled by USAF Space Command. Civilian users are secondary. And many times they don’t even let the FAA know what they’re doing with it. The FAA finds out thru PIREP’s that GPS RNAV has failed, and pilots are having to revert to VOR/DME.

1 Like

interesting… ya im in orlando

@Eosbandi says it’s not a reception error however

I don’t know how you can determine that. They play “war games” like an incoming gps-guided nuclear missile targeting Ft Bragg. They steer the missile out over the Atlantic with the gps by altering the WAAS signals and time stamps. Then intercept it with a F-15 and destroy it before its altitude proximity sensor triggers it. And this can go on for four hours at at time.

I know exactly what it does. We had a crew that participated in the testing at Ft Bragg this past week on Tuesday.

Nobody knows for sure exactly what they do to the GPS signals because they got equipment you and I don’t have. And they coordinate with USAF 527th to alter the satellites in orbit during the testing.

This week the GPS interference is running all week at Fort Polk, LA thru the 7th, centered at 31 05 35N by 093 03 50W, although it supposedly doesn’t affect as wide an area as the testing that ended today on the east coast. Check your NOTAMS, or get a briefing from FS if you fly commercially, and schedule your flights accordingly. If you fly hobby you’ll likely crash your drone, and they could care less.

lol chris, he says the ERROR MESSAGE is not related to reception

Indeed. Because :

 bool AP_GPS::is_healthy(uint8_t instance) const {
    return drivers[instance] != nullptr &&
           last_message_delta_time_ms(instance) < GPS_MAX_DELTA_MS &&

Where drivers[instance]->is_healthy is always true if the driver is loaded.
So as I said, Bad GPS Health is only issued when driver misses a packet from the GPS. Update rate does not depends on the GPS reception.

1 Like

I had to get a 13 mile test flight done today. I was nervous waiting for it to return. Thankfully everything went perfect.

Wow! Do you mind me asking what kind of vehicle, and did you have telemetry link the entire time? If so what telemetry system?

Yeah, well. Look at the documentation for your M8N receiver. It is a tri-band and can do 10Hz update on one constellation, 5Hz on two, 3Hz on three. You’ll see spikes on the gps delta sometimes up to 400ms (or more) when your receiver gets hijacked. And then it triggers the “Bad GPS Health” message.

So, no - it is not directly related to reception. It is related to GPS timing and dropped packets because it can’t update its position information.

@wicked1 yes with R9 system, 6.5 miles out and back… it’s a hand-made hexacopter

i could fly it back manually if gps goes out, but still that’s a long way

@ChrisOlson So are you saying if receiver is hijacked, it stops communicating with pixhawk? You say it loses packets because it can’t update its position, but if that were the case, you’d get bad gps health every time satellites are lost… see what im saying? gps -> ardupilot communication is completely different system from satelites -> gps… Eosbandi just proved the health message is strictly a driver communication time check

It has nothing to do with dropping satellites. It is a GPS timing issue on the RF side that causes the receiver to not be able to update its position information in under 245ms. The update rate of the receiver is a limitation of the sample rate on the RF.

At any rate it appears to have fixed itself.

Hi Chris

Have you had any further BAD GPS Health messages since your post?

I have been getting these messages ever since upgrading to 3.6.x. the logs show a 300-400ms packet not often but sporadically about 5% of the time which initiates a warning. I am in New Zealand so quite far away from posted military exercies and this message has been going on for a while now.

Could be the same as Bad gyro health. Just a sporadic message I can’t get rid I of. I hope not.though.

I have been doing only limited RC flying due to weather. But no, I have not gotten any of those messages lately.

Hi Chris, i’m setting up a new system on current FW and i’m getting nominal 200ms updates, but sometimes it misses a packet and goes 400ms causing the bad health warning,!

Is this something caused by the gps module and wiring to pixhawk, or is it out of my control?
was thinking i’d try to extend the GPS_MAX_DELTA_MS to 500, or try to change the gps mode to gps only, instead of gps + other modes etc to get 10hz refresh,
what are your thoughts?