I'm using a NEO-6M UART GPS unit and a Python script to record GPS data as latitude and longitude. However, it says accuracy 2.5 meters but I am not getting accuracy at that level.

Connected satellite number is 9. I get the location every one seconds. However, the accuracy of the locations that I get is about 40 meters.

I'm using pynmea2 to parse NMEA data. The data is taken from RMC and GGA. I searched the internet about increasing the accuracy by calculation but couldn't found any related information yet. Is there any source or recommendation to increase my GPS accuracy?

I have a cylindrical dipole antenna.

  • Your chipset is quite old. It might due the power mode or a number of other items. Would you consider a BCM47765 Second Generation Dual-Frequency GNSS chipset? broadcom.com/products/wireless/gnss-gps-socs/bcm47765 as simultaneously supports GPS, GLONASS, NAVIC, BeiDou, Galileo, SBAS, and QZSS in both the L1/ B1/E1 and L5/E5a/B2a frequency bands
    – Mapperz
    Nov 30, 2022 at 17:55
  • @Mapperz I am also have adafruit ultimate gps v3. does it can be a good choice?
    – nogabemist
    Dec 1, 2022 at 8:07

1 Answer 1


I have not used Neo-6M but I have worked with Neo-6T, M8N, and M8T modules extensively. Even with not-very-good antenna, the accuracy is generally in the 3M - 5M range. I don't think I ever saw position errors as high as 40M, even in poor GPS conditions.

If you are comparing the uBlox position with a reference Latitude / Longitude, I think it's likely that your reference position is in some local reference frame / datum (for example NAD-83 in the USA) not in WGS-84 / ITRF2014 current epoch which is what uBlox will give you.

A good estimate for the accuracy of your GPS is seeing how repeatable the position is - put the antenna on the same feature a few times a day for a few days or weeks and see how much the position varies. If you take 20 position measurements and they are all within 10M of each other, then you have a reference frame or datum problem not poor GPS accuracy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.