Express using PointPerfect over IP - does it work?

Hello,

First post - forgive if I make any newbie mistakes.

Looking to buy an RTK Express (GPS-18442) instead of building per https://learn.sparkfun.com/tutorials/ge … intperfect. I plan to use it with Qfield and QGIS for mapping.

I want to use PointPerfect over IP (via cellular internet from my phone), not L-band or NTRIP ( I may want to try the base station/rover combination later - but that’s not my first preference). However, I read at https://docs.sparkfun.com/SparkFun_RTK_ … n_sources/ that “… we don’t currently recommend using PointPerfect …”.

So, before I lay out the $$ can someone give me guidance as to whether I can use the Express with PointPerfect over IP?

Seems like I should be able to since it uses all the same hardware. Or is does the RTK firmware code not implement PointPerfect over IP like the Thingstream tutorial I mentioned … but if it doesn’t I could hack the code - right? Prefer not since it seems that the RTK firmware has been kinda “standardized.”

Thanks!

Welcome!

I have been swimming in PointPerfect IP corrections for the past few days, and when it works, it works well! But unfortunately the current RTK products do not poses enough RAM (aka PSRAM = 0) to support it.

The RTK Firmware is great, but it is currently limited by the RAM on the ESP32. If you’re using a tablet, we expect users to need Bluetooth to connect to the tablet and provide NMEA (and other) data to the GIS app of choice. To gather PointPerfect corrections over IP you’ll need a secure WiFi connection to the internet. We’ve found that the current ESP core (anything past v2.0.2) uses so much RAM that Bluetooth + secure WiFi + all the rest of the RTK Firmware overhead makes PointPerfect IP corrections basically unattainable. Is it possibly? Absolutely, but we would have to disable many features with knowledge of each feature’s RAM footprint. It gets really messy from that point on.

You are welcome to purchase a ESP32 dev board + a ZED-F9P and stich together your own solution. Or, you could buy an Express, and load your our ESP32 firmware with various features stripped out. Or if you’re really interested, let me know.

I should add, NTRIP is the easiest route to get corrections. Use your phone as the internet backbone (WiFi hotspot), pay the ~$50 a month and get your feet wet before jumping into the deep end of high-precision GNSS.

Thanks so much, a really helpful (and fast) reply. I am ** really ** interested. :slight_smile:

I’m a semi-retired networking engineer (https://dougfoster.me). Learning new tech is my hobby. In this case though, I’m exploring, mapping, and metal detecting a 300 year old plantation out on the coast of North Carolina. SO much history there, the owner even knew & probably befriended Edward Teach. Also my wife & her friend are indexing and GPS 'ing all gravesites in the surrounding county.

So, I really need an affordable GPS solution with 1) at least dm locating accuracy & repeatability 2) a long term, affordable (did I mention semi-retired?) error correction service. The u-blox F9 and PointPerfect seem perfect.

If the 520KB SRAMon the ESP-WROOM-32 I have (or RTK Express I was considering) is a limit, then could these be options?

  1. Reduce the RAM requirements. Hack the code as you suggested.

  2. Add PSRAM. I don’t think you offer a PSRAM board.

  3. Offload functions to another card (like BLE to a BlueSMiRF - or WIFI using a WiFi Module - ESP8266) to save RAM.

  4. Run RTK on AzureWave Thing Plus - AW-CU488 (4MB PSRAM) or ESP32 Qwiic Pro Mini? How to add bluetooth?

  5. Change to a Raspberry Pi with a GPS-RTK pHAT (GPS-21305) & use Python, but that solution seems to be lacking as much doc as the Arduino approach has.

Thoughts on any of these? Or I’m sure open for suggestions. Yes, I know - NTRIP - which if I was surveying all the time I’d gladly do, but on a project basis PointPerfect seems WAY more cost attractive. Thanks!!

Hi Doug,

I am also trying to PointPerfect work with a RTK and ESP32 board. This is the link to my current thread on this issue.

viewtopic.php?f=116&t=60911

I was hoping that the SparkFun u-blox GNSS v3 “Arduino Example 18: PointPerfect Client” running on the ESP32 would send the corrections to the RTK board.

https://learn.sparkfun.com/tutorials/ge … ect-client

From the comments at the top of example 18:

This example shows how to obtain SPARTN data from a PointPerfect Broker over WiFi

and push it over I2C to a ZED-F9x.

It’s confusing, but the Arduino is acting as a ‘client’ to the PointPerfect SSR correction service.

You have to edit the header file of the example 18 sketch to include all of your PointPerfect credentials along with the ID and password of the mobile hotspot Wi-Fi connection on your phone. Then the script pulls the correction data down from the internet and feeds it to the RTK board.

I was hoping that plugging the phone into the RTK board would automatically run the ESP32 script and feed the corrections to the RTK board. I don’t think that is happening. It might require a different but similar script.

sparky:
Welcome!

I have been swimming in PointPerfect IP corrections for the past few days, and when it works, it works well! But unfortunately the current RTK products do not poses enough RAM (aka PSRAM = 0) to support it.

The RTK Firmware is great, but it is currently limited by the RAM on the ESP32. If you’re using a tablet, we expect users to need Bluetooth to connect to the tablet and provide NMEA (and other) data to the GIS app of choice. To gather PointPerfect corrections over IP you’ll need a secure WiFi connection to the internet. We’ve found that the current ESP core (anything past v2.0.2) uses so much RAM that Bluetooth + secure WiFi + all the rest of the RTK Firmware overhead makes PointPerfect IP corrections basically unattainable. Is it possibly? Absolutely, but we would have to disable many features with knowledge of each feature’s RAM footprint. It gets really messy from that point on.

You are welcome to purchase a ESP32 dev board + a ZED-F9P and stich together your own solution. Or, you could buy an Express, and load your our ESP32 firmware with various features stripped out. Or if you’re really interested, let me know.

Sparky,

I have successfully run the SparkFun u-blox GNSS v3 “Arduino Example 18: PointPerfect Client” on the ESP32 board.

https://learn.sparkfun.com/tutorials/ge … ect-client

This sketch seems to do most of what would be required for a PointPerfect solution for the RTK and ESP32 boards.

Have you tried this?

Thanks,

Bruce

Hi Bruce,

Now turn on Bluetooth :wink: The u-blox library examples work great and you should absolutely stitch together what you need, but we have other issues within the RTK Firmware.

@doug_f

If the 520KB SRAMon the ESP-WROOM-32 I have (or RTK Express I was considering) is a limit, then could these be options?

  1. Reduce the RAM requirements. Hack the code as you suggested.

  2. Add PSRAM. I don’t think you offer a PSRAM board.

  3. Offload functions to another card (like BLE to a BlueSMiRF - or WIFI using a WiFi Module - ESP8266) to save RAM.

  4. Run RTK on AzureWave Thing Plus - AW-CU488 (4MB PSRAM) or ESP32 Qwiic Pro Mini? How to add bluetooth?

  5. Change to a Raspberry Pi with a GPS-RTK pHAT (GPS-21305) & use Python, but that solution seems to be lacking as much doc as the Arduino approach has.

All of these are reasonable approaches but most require a hardware rev. That’s where we are at. I’ll email you as well.