The other alternative is possibly faulty or inadequate hardware. I’ve had my Mini2 for a month or more but I’ve not had the opportunity to give it a good Rodgering to really find its strengths and weaknesses.
GPS is so common place now but the make-up of the system is anything but. The construction of the signal and the network as a whole is extremely complex, employing sophisticated modulation techniques, encoding, error correction, etc. Rather than external forms of interference the culprit can often be identified as something in or on the drone itself.
Back in the day of the Phantom 1, when everybody was hanging GoPro’s and Möbius action cameras off it, there were a lot of reports of poor GPS acquisition when the cameras were powered on. It wasn’t just the Phantom but any model using a DJI Naza controller and GPS receiver. The solution was to insert a SAW filter in the signal path to mitigate the interference.
It’s never a good practice to have a receiver and it’s antenna in close proximity to fast switching digital circuits, such as switching power supplies, processors, and such. This is why you will still see GPS systems on many commercial and self built drones mounted on masts, away from other electronic components. Just the other day I was flying two identical quads, one with its GPS receiver mounted out on one of the arms and the other with the receiver mounted directly above the flight stack. The latter really struggled to attain a satellite count suitable enough to provide a reliable location fix, where as the one mounted out on the arm provided a solid fix in under 20seconds from a cold start with a satellite count in excess of what was needed for a suitable HDOP.
Another thing to consider is the calibration of the compass. This was sort of critical for the Spark, as the GPS and compass are continuously comparing results with each other. In the case of the Spark if the GPS and the compass started to disagree with one another the DJI algorithm would drop GPS and give preference to the compass and enter ATTI mode, even if there were 18 or more satellites being detected. It’s only once in ATTI mode would the compass errors start being reported by which time, if the operator wasn’t clued in, the Spark would be off to do its own thing.
I always advise to calibrate any drones compass away from any possible sources that could skew its operation. That means don’t calibrate it in your living room, driveway, on the patio, but in an area without electronic smog and metal work. Once done do not recalibrate. If you get a message saying to recalibrate first move to a different area and see if the message disappears as this would indicate a possible interference. If you calibrate in an area of interference then all you’re doing is a bad calibration. If you move a significant distance and the system is still reporting compass errors then fine calibrate. This could have been the result of storing the drone in an environment where there was a strong magnetic field other than the natural magnetic field of the Earth.