SW Maps + RTK Torch + PointPerfect corrections = not possible?

I have been testing my new RTK Torch with SW Maps. It’s been working great, learning the TORCH and SW MAPS app. I found an NTRIP to test on RTK2go.com and that worked well too. Now I am moving on to testing out the PointPerfect corrections. Nathan got me squared away and Torch reports I have 41 days with my license.

However it seems that the Torch needs to connect to my iPhone via WiFi HotSpot on iPhone to get the PointPerfect connections. But when I turn on Torch WiFi, the BLE/Bluetooth connection disappears from SW Maps. I don’t see a way to connect SW MAPS to the Torch over IP. Is there a setting in Torch to have both BLE/Bluetooth turned on and Wifi 2.4ghz turned on at the same time?

According to X/Grok, it should work. However when I turn on Wi-Fi on my RTK Torch, the BLE connection seems to turn off as it disappears from SW MAPS, and subsequent [SCANS] on SW MAPS the RTK Torch no longer shows up.

Yes, you can use the iOS application SW Maps with the SparkFun RTK Torch and PointPerfect corrections, but there are some specific considerations and steps to ensure everything works together seamlessly. The RTK Torch can indeed leverage PointPerfect corrections via Wi-Fi while simultaneously connecting to an iPhone via Bluetooth Low Energy (BLE) for use with SW Maps. Here’s how this setup can work based on the capabilities of the devices and software:

Key Components and Requirements

  1. SparkFun RTK Torch:
  • The RTK Torch supports “Zero-Touch RTK” with PointPerfect corrections, meaning it can automatically obtain corrections over a Wi-Fi connection (e.g., from an iPhone hotspot) without requiring NTRIP credentials.
  • It also supports BLE for outputting NMEA sentences to a paired device like an iPhone running SW Maps.
  1. PointPerfect Corrections:
  • These are delivered over the internet (IP-based) rather than L-Band for the RTK Torch in this context, requiring the Torch to connect to a Wi-Fi network with internet access.
  • The iPhone can provide this internet access via its Personal Hotspot feature.
  1. SW Maps on iOS:
  • SW Maps supports BLE connections to GNSS devices like the RTK Torch, allowing it to receive high-precision NMEA data.
  • However, SW Maps itself does not directly handle PointPerfect corrections (which use the SPARTN format and an API rather than NTRIP). Instead, the RTK Torch manages the corrections internally via its Wi-Fi connection.
  1. iPhone:
  • Acts as both the Wi-Fi source (hotspot) for the RTK Torch to access PointPerfect corrections and the BLE receiver for NMEA data from the Torch to SW Maps.

Setup Process

To make this work, follow these steps:

  1. Enable iPhone Personal Hotspot:
  • On your iPhone, go to Settings > Personal Hotspot and enable it. Ensure “Maximize Compatibility” is turned on to force the hotspot to use the 2.4 GHz Wi-Fi band, as the RTK Torch only supports 2.4 GHz (not 5.5 GHz, which some iOS updates default to).
  • Note the Wi-Fi network name and password.
  1. Configure RTK Torch for Wi-Fi:
  • Power on the RTK Torch by holding the power button for 3-4 seconds until it beeps and the LEDs light up.
  • Put the Torch into Wi-Fi config mode: double-tap the power button (you’ll hear two beeps).
  • From your iPhone, connect to the “RTK Config” Wi-Fi network broadcast by the Torch.
  • Open a browser and navigate to rtk.local or 192.168.4.1 to access the Wi-Fi configuration page.
  • Enter the iPhone’s hotspot Wi-Fi credentials (name and password) and save them. The Torch will reboot and connect to the hotspot.
  1. Verify PointPerfect Corrections:
  • Ensure your RTK Torch is registered with SparkFun for PointPerfect access (you’ll need the Device ID from the Torch, and registration may take up to two business days if not already done).
  • Once connected to the iPhone hotspot, the Torch will automatically fetch PointPerfect corrections over Wi-Fi. After a few minutes outdoors with a clear sky view, it should achieve an RTK Float and then RTK Fix (typically within 3 minutes), providing 14-60 mm accuracy.
  1. Pair RTK Torch with SW Maps via BLE:
  • Open the iPhone’s Settings > Bluetooth and ensure Bluetooth is enabled. The RTK Torch will appear as something like “Torch Rover-XXXX” (where XXXX is the last four digits of its MAC address). Pair with it.
  • Launch SW Maps on your iPhone.
  • Tap the SW Maps icon (top left) and select Bluetooth GNSS.
  • Set the Instrument Model to “Generic NMEA (Bluetooth LE)”.
  • Tap Scan, select the RTK Torch from the list (e.g., “Torch Rover-XXXX”), and press Connect.
  1. Confirm Operation in SW Maps:
  • In SW Maps, go to GNSS Status (via the top-left menu) to view the position, fix type, and accuracy.
  • With the Torch receiving PointPerfect corrections via Wi-Fi and sending NMEA data over BLE, you should see the position bubble change from blue (standard GNSS) to orange (RTK Float) and then green (RTK Fix), indicating high-precision positioning.

Important Notes

  • Dual Connectivity: The RTK Torch can use Wi-Fi for PointPerfect corrections and BLE for NMEA output simultaneously. This is a key feature that makes this setup viable.
  • No NTRIP in SW Maps Needed: Since the Torch handles PointPerfect corrections internally via Wi-Fi, you don’t need to configure an NTRIP client in SW Maps (which would be required for other correction sources).
  • Coverage: PointPerfect IP corrections are available in the contiguous US, EU, and parts of Australia, Canada, Brazil, and Korea. Check the coverage map to ensure your location is supported.
  • Hotspot Stability: Ensure your iPhone has a stable cellular connection, as the Torch relies on this for internet access to PointPerfect.
  • Accuracy: With PointPerfect, expect 14-60 mm horizontal accuracy once RTK Fix is achieved, which SW Maps will reflect in its NMEA data.

Potential Challenges

  • Wi-Fi/BLE Interference: Both Wi-Fi and BLE operate on 2.4 GHz, so there’s a slight chance of interference. However, this is rare with modern devices and shouldn’t significantly impact performance.
  • Battery Drain: Running the iPhone hotspot and SW Maps simultaneously may drain the phone’s battery quickly, so consider a portable charger.
  • Initial Setup Time: If your Torch isn’t pre-registered for PointPerfect, you’ll need to wait for SparkFun to activate it, though it comes with a one-month free subscription out of the box.

Conclusion

Yes, this configuration is fully supported. The RTK Torch can connect to your iPhone’s hotspot via Wi-Fi to retrieve PointPerfect corrections and simultaneously send high-precision NMEA data to SW Maps over BLE. Once set up, you’ll have a robust, high-accuracy GNSS solution for mapping and surveying on iOS, leveraging the Torch’s advanced capabilities and PointPerfect’s continental-scale precision.

More testing will be done on March 20th, 2025

iOS only supports BLE for bt modes Connecting Bluetooth - SparkFun RTK Everywhere Product Manual - try swapping to BLE on your iphone

There’s also another thread that covered the compatible combinations a week or two ago, I’ll find it and post a link here if the above doesn’t get ya goin

1 Like

Here’s a screenshot of SW Maps from this morning, Torch connected to iPhone Personal Hotspot, receiving PointPerfect corrections via MQTT :

I use compatibility mode to force 2.4 GHz.

Connections:
WiFi = Torch has iPhone Hotspot WiFi Credentials stored, Torch automatically connects to iPhone Hotspot.
SW Maps = Manual BLE connection, using "Generic NMEA (Bluetooth LE) Instrument Model.

Thanks but on iOS you can’t pick if BLE is on or off. I can turn the Torch Bluetooth to SPP only, BLE Only or both though. I currently have the Torch to use Both.

And this morning on boot up of Torch and turning on Wi-Fi then connecting to Torch via Chrome for the WEB interface my PointPerfect says -1 until days of expiry, I did a REQUEST KEY UPDATE but days to Expiry stayed at -1 (it was 47 days for the first day of activity yesterday) – boy I am learning a lot about this, but remain way to ignorant. I’ll keep digging through support messages, but until the key shows I have days available I’m probably stuck again so I will try a few more [Request Key Update] until it shows a positive number

3 [Request Updates] and now days to Expiry is back to 40 (one day less as it should be)

This is not for the faint of heart.

With Wi-Fi turned on the Torch via double power button press (and confirming its on both by Serial Port looking at stream of messages) and connecting via Chrome over WiFi from my PC… Wifi is solid, but repeatedly scanning on iPhone SW Maps Scan, the Torch no longer appears. If I turn off wifi on Torch via double power button tap, I lose Wifi and Blue Tooth. The up down arrows on the Torch turn off. Continued double power button presses change the up down arrow lights but don’t result in any connections being possible

Ok, I will try it in this sequence, get iPhone connected to Torch via 2.4Ghz Wifi Hot Spot, then start up SW Maps and try to connect

Double tapping the Power button is how you get the device into Web Config mode. It’s not for normal operation. Just power on the device and start using it; the Torch will scan for WiFi networks and connect as needed. The Torch will only connect to WiFi if it needs to: ie, if PointPerfect is enabled, or if NTRIP Client/Server is enabled, if TCP is enabled, etc. If a friendly WiFi network is not found, it will scan again in 7 seconds, then 15, then 30, all the way up to every 15 minutes. If your hotspot is not on, turn it on and the Torch will connect (eventually).

If you’re comfortable using the Serial Configuration method, use it. It’s faster than the Web Config (aka, putting the device into a WiFi access point and opening a browser). You’ll also see lots of output messages letting you know what the Torch is doing: scanning for WiFi, updating PointPerfect keys, etc.

Simultaneous Bluetooth SPP + BLE + WiFi is supported and is the default state. No need to enable or disable anything, the defaults should work fine. If you ever need it, there is a Factory Reset.

The best thing about BLE is that any phone can connect to the Torch immediately, without pairing. Just scan from SW Maps with Bluetooth LE selected from the drop down, and you should see your Torch. The downside to BLE is that very few GIS apps support it (basically, only SW Maps - although I think GNSS Master supports connections to BLE receivers as well).

If you’re unsure about the state of the PointPerfect keys, use the PointPerfect menu to update them over serial. Updating the keys over Web Config is more complicated because the device has to successfully start a WiFi access point and connect to a local WiFi access point (your iPhone hotspot in this case) and then successfully tunnel out. It’s better to set the WiFi credentials in the device then let it update its keys on its own.

Ok thanks for clarifying that. I have been using Serial over USB, and just did a restart and yes, the Torch did connect to Wi-Fi, as I can see it’s address and I can ping over CMD window on PC

I guess when I put it into HTTP Config Mode it can’t do Bluetooth, because right now I can Ping the Torch from PC and I can Scan it on my iPhone in SW MAPS. Now I need to remove my Home WiFi from the Config and start testing with iPhone Hot Spot.

Thanks @sparky and @rftop - Great insights and lessons!!

What is the difference (under the LOG to File) on SW Maps of
[SW Maps GNSS] vs. your setting of [Generic NMEA (Bluetooth LE) ?

So far either seems to work, so that is AWESOME!!!
However how do I tell that Point Perfect is working and connected?

In SW Maps GNSS Status it has Reference Station ID :9901
in the Map View of SW Maps it shows the Satellite with PPP-GAL
I’ve had the Torch outside for about 10 minutes and no RTK-FIX like when using NTRIP

What is the difference (under the LOG to File) on SW Maps of
[SW Maps GNSS] vs. your setting of [Generic NMEA (Bluetooth LE) ?

Be sure to upgrade to SW Maps 3. It’s SO great. Are you talking about instrument model? Instrument model doesn’t mean much. It’s helpful, perhaps, in the future for SW Maps to know what’s connected so perhaps it can send config strings, but I’m not the app dev. For now any instrument model with RTK will enable the NTRIP client.

In SW Maps GNSS Status it has Reference Station ID :9901 in the Map View of SW Maps it shows the Satellite with PPP-GAL I’ve had the Torch outside for about 10 minutes and no RTK-FIX like when using NTRIP

PPP-GAL means you’re getting PPP convergence using HAS over E6. The Torch is so good it gets free corrections. However, other users have found that HAS is good but not nearly as good as a true, near station RTK Fix. You can disable E6 reception to prevent this, and I recommend doing so so that you don’t confuse a ‘good fix’ from HAS with a ‘good fix’ from PointPerfect SSR.

Next - why aren’t you getting an RTK-Fix from PointPerfect SSR? It can take time. 10 to 15 minutes is not unheard of. We’ve found the PointPerfect service over IP to be good but not stellar. If you really want to dig into the weeds, and since you’re familiar with the serial terminal interface, then enable corrections debugging:

‘s’ for system menu
‘h’ for hardware debug
10 to enable correction debugging

This will turn on a handful of additional messages including when corrections from PointPerfect are successfully sent to the GNSS receiver:

Connecting WiFi...
WiFi 'sparkfun-iot' IP address: 10.10.10.54, RSSI: -48
Rover Accuracy (m): 1.188, SIV: 33 GNSS State: 3D Fix
Batt (96%): Voltage: 8.12V Charging: -0.41%/hr
Rover Accuracy (m): 1.188, SIV: 33 GNSS State: 3D Fix
HTTP Client stopping
Days until PointPerfect keys expire: 40
E (166168) wifi:NAN WiFi stop
Network delaying 7 seconds before connection
Batt (96%): Voltage: 8.12V Charging: -0.38%/hr
Rover Accuracy (m): 1.188, SIV: 33 GNSS State: 3D Fix
Rover Accuracy (m): 1.188, SIV: 33 GNSS State: 3D Fix
Rover Accuracy (m): 1.189, SIV: 33 GNSS State: 3D Fix
Batt (96%): Voltage: 8.12V Charging: -0.27%/hr
Rover Accuracy (m): 1.189, SIV: 33 GNSS State: 3D Fix
Connecting WiFi...
WiFi 'sparkfun-iot' IP address: 10.10.10.54, RSSI: -51
Rover Accuracy (m): 1.189, SIV: 34 GNSS State: 3D Fix
Batt (96%): Voltage: 8.12V Charging: -0.50%/hr
Rover Accuracy (m): 1.189, SIV: 34 GNSS State: 3D Fix
PointPerfect Library Online: Point_Perfect_SDK-ESP32-BLD21-v1.11.4
Batt (96%): Voltage: 8.12V Charging: -0.48%/hr
Rover Accuracy (m): 1.189, SIV: 34 GNSS State: 3D Fix
Rover Accuracy (m): 1.189, SIV: 34 GNSS State: 3D Fix
Batt (96%): Voltage: 8.12V Charging: -0.38%/hr
Rover Accuracy (m): 1.189, SIV: 34 GNSS State: 3D Fix
Rover Accuracy (m): 1.254, SIV: 34 GNSS State: 3D Fix
Rover Accuracy (m): 1.253, SIV: 34 GNSS State: 3D Fix
Batt (96%): Voltage: 8.12V Charging: -0.27%/hr
PointPerfect corrections sent to GNSS.
Rover Accuracy (m): 0.956, SIV: 34 GNSS State: DGPS Fix
Rover Accuracy (m): 0.928, SIV: 34 GNSS State: DGPS Fix
PointPerfect corrections sent to GNSS.
Batt (96%): Voltage: 8.12V Charging: -0.24%/hr
Rover Accuracy (m): 0.486, SIV: 34 GNSS State: DGPS Fix
Rover Accuracy (m): 0.478, SIV: 34 GNSS State: DGPS Fix
Rover Accuracy (m): 0.481, SIV: 34 GNSS State: DGPS Fix
PointPerfect corrections sent to GNSS.
Batt (96%): Voltage: 8.12V Charging: -0.21%/hr
Rover Accuracy (m): 0.513, SIV: 34 GNSS State: DGPS Fix

And ~60 seconds later:

PointPerfect corrections sent to GNSS.
Rover Accuracy (m): 1.118, SIV: 34 GNSS State: RTK Float
Rover Accuracy (m): 1.088, SIV: 34 GNSS State: RTK Float
PointPerfect corrections sent to GNSS.
Batt (96%): Voltage: 8.12V Charging: -0.05%/hr
STATE_ROVER_RTK_FLOAT --> STATE_ROVER_FIX, 2025-03-20 17:00:51.065
Rover Accuracy (m): 0.433, SIV: 34 GNSS State: DGPS Fix
STATE_ROVER_FIX --> STATE_ROVER_RTK_FLOAT, 2025-03-20 17:00:52.076
Rover Accuracy (m): 1.059, SIV: 34 GNSS State: RTK Float
PointPerfect corrections sent to GNSS.
Rover Accuracy (m): 1.029, SIV: 34 GNSS State: RTK Float
Batt (96%): Voltage: 8.12V Charging: -0.03%/hr
Rover Accuracy (m): 1.014, SIV: 34 GNSS State: RTK Float
STATE_ROVER_RTK_FLOAT --> STATE_ROVER_RTK_FIX, 2025-03-20 17:00:58.002
Rover Accuracy (m): 0.016, SIV: 34 GNSS State: RTK Fix
PointPerfect corrections sent to GNSS.
Batt (96%): Voltage: 8.12V Charging: -0.02%/hr
Rover Accuracy (m): 0.016, SIV: 34 GNSS State: RTK Fix
Rover Accuracy (m): 0.015, SIV: 34 GNSS State: RTK Fix

Fix is achieved. The Torch is great, but the lack of display means it’s hard to see what’s going on. If you have access to an Android device, consider using a Bluetooth Terminal to do serial stuff in the field.

Awesome!!!
I think SW MAPS 3.0 must be Android as I don’t see that in Apple Store only SW Maps V1.2.2 which is what I have… I guess I need to go cheap Android Tablet shopping ;(

I do have the HAS corrections turned on, so I will try with that turned off. The Torch has been outside now for over an hour and still Fix-Type=PPP-GAL but I still have HAS on, I will turn it off and restart testing. With HAS on, it’s reporting Horizontal accuracy of 1.22 inches (Lat and Lon err of about 1.102 to 1.260 bouncing around a bit) … if Station ID changes I guess that will confirm ID = 9901 is the Galileo HAS 6 corrections.

Update - turned Galileo HAS corrections OFF, but SW Maps still reports Station ID =9901 so no idea what that really is.

upon boot up and first few minutes SW Maps still reporting PPP-GAL not RTK-FIX yet, but will give it 20 minutes as I start to familiarize myself with TURBO TAX and wish that my RTK Torch said my location was the Cayman Islands!!!

1 Like

Well…my torch doesn’t want to work with PP MQTT right now either.
Worked fine this morning.
Nothing showing up on ThingStream status page either.

1 Like

Before I unplugged serial connection it said ( and it said GNSS STATE 3D Fix prior to HAS change)

Rover Accuracy (m): 6.692, SIV: 21 GNSS State: 3D Fix
Rover Accuracy (m): 5.835, SIV: 21 GNSS State: 3D Fix

Right now about 5 minutes in with PPP-GAL as fix value in SW MAPS shows H accuracy 6.49in
I will give it another 10-15 minutes

I think there is a snag with ThingStream SSR (IP) corrections at the moment.
My Torch is subscribing to the MQTT Topic, but still reports:
Correction Source:None
It’s also reverted to HAS E6

1 Like

Well on top of that a construction crew in the neighborhood just hit the Spectrum Cable for the whole neighborhood. Spectrum truck showed up. Apparently the 4th party construction crew for AT&T fiber install for the whole community has bee breaking Spectrum cable about every 4 hours they dig…. Ugh. Sometimes you just cannot win!!

And once it goes down everyone jumps on their HotSpots and you can barely do anything over cell phone so no point in fiddling with Torch anymore today…. Fix is not forecasted until 7pm…..

@rftop - The next time you have issue, are you seeing problems on your PointPerfect RTCM account as well? I’ve been curious if one ever outperforms the other. I’ve seen PoinPerfect IP have dozens of issues over the years, but only recently did PointPerfect RTCM fail me

(OSR) RTCM is working fine :wink: