How to Detect GPS Spoofing During Pre-Flight (Before Takeoff)?

Hi everyone,
I am working on improving the safety of my ArduPilot-based drone and I want to detect GPS spoofing specifically during pre-flight, while the drone is still on the ground and before arming/takeoff.

Most GPS-spoofing discussions focus on in-flight detection, but I want to know:

  • How can ArduPilot detect abnormal or spoofed GPS signals before takeoff?

  • Are there any parameters, EKF indicators, or pre-arm checks that can help identify spoofing on the ground?

  • Is monitoring HDOP, velocity innovations, EKF variances, or sudden jumps in position helpful at pre-flight?

  • Does ArduPilot provide any built-in mechanisms for pre-flight spoofing detection, or would this need a custom script/module?

  • If anyone has experience or research references related to ground-based GPS spoofing detection, please share.

My goal is to prevent the drone from arming if spoofing occurs during the initial GPS lock.

Any guidance, techniques, or example implementations would be really appreciated!

Thanks!

This kind of feature is built in the GNSS receiver, not in the autopilot.

Buy a better GNSS receiver that has that feature built in.

1 Like

Not sure if GPS has something, but for galileo there is something called OSNMA to authenticate navigation data. SO I would check which receivers support this one and if there is anything similar for GPS.

Anyway, as @amilcarlucas mentioned - this is receiver functionality, not AP.

1 Like