Comments: How to Build a DIY GNSS Reference Station


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Thanks for this article! I needed it! I bought a NEO-M8P-2 a while ago and never got around to using it. There are no public ground stations in my area to hook into, which is why I like this tutorial so much. But I had a couple of lingering questions.

    I am thinking about using the SparkFun GPS-RTK Dead Reckoning pHAT (GPS-16475) with my NEO-M8P-2 (GPS-15005). The navigation rates are pretty different (up to 30 Hz for the pHAT versus 5 Hz for the NEO).

    If I am using the NEO-M8P-2 as the reference station, would the slowness of the RTCM correction data be a problem for the pHAT that would be working as the rover?

    For this project the pHAT will be mounted in a moving car, and the vertical accuracy will probably be more important than the horizontal.

    Is there an estimate of the vertical accuracy for the SparkFun GPS-RTK Dead Reckoning pHAT (GPS-16475)? I noticed the horizontal accuracy with RTK was 20cm which is a bit higher than the NEO-M8P-2 (GPS-15005) and the ZED-F9P (GPS-16481). I could choose something other than the dead reckoning board but like the idea of the IMU data.

    • RTCM corrections at 1Hz is totally enough. The ionosphere doesn't change that much over seconds. The NEO-M8P-2 with a PPP fixed location should work great.

      Vertical accuracy: if you're looking at datasheets, that's the same place I'd look.

  • Thanks for the great article. When connecting my F9P and starting your tutorial, my fix mode is '3D/GNSS'. Is this sufficient to establish an accurate measurement (after I complete post processing at the end) or should this value be reading something different while I'm obtaining my 24 hours of data?

    • Yep. The 3D/GNSS fix is the normal level of fix with any regular GNSS receiver. It's a fine fix state to obtain the 24 hours of data.

  • Hello. I wanted to ask I'm using GPS-RTK ZED F9P Sparkfun module and I'm connecting the module with ESP32 and micro SD card reader. I connect the GPS module and ESP32 using UART. How can I set the Arduino programming enable RTCM and disable UBX and NMEA message. Can someone help me with this problem. Thank you.

  • Hi there! Amazing article. I have actually got two super simple questions. Are you able to run SW Maps on background while doing something else on you Android device and still get RTK correction (I haven't gotten an Android device, and this information is quite crucial for my project, as it will be running another app simultaneously)? Also, can an Arduino get coordinates while the module is connected via USB port to the Android device?

    Thank you everyone for the help!

    Kindly, Guilherme.

    • Hi - Yes, SW Maps can run in the background.

      "can an Arduino get coordinates while the module is connected via USB port to the Android device?"

      I'm not entirely sure I understand your question but I'll try: Android device to USB to ZED-F9P to a few wires to Arduino

      Yes, this would work. An Arduino can obtain position information from the ZED-F9P receiver over I2C (Qwiic) or over UART (TX/RX).

  • RTKLIB 2.4.3 b34 STRSVR started to support NTRIP caster mode. STRSVR: Protocol HTTP/1.1 accepted by NTRIP caster mode.

  • Awesome article! Thanks for the detail! One question I have - what are you using for your "upgraded" L1/L2 antenna mounted to the cinder block?

If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!