I’m interested on getting one SparkFun Tx2 for one small project and have some doubts that would like to clarify.
My idea is to receive NTRIP corrections over WiFi and send Real Time corrected RTK Position data over Bluetooth to an ANDROID device where I can log/save the current position for small mapping project.
My question is about this 2 connection methods, checking the manuals I think my idea is feasible but would like to confirm before purchasing that.
NTRIP corrections can be received over WiFi from external client device
NMEA traces can be sent at the same real time over Bluetooth in open / standard format to be received by a home made Android application
Yes, to both of your questions.
Here’s a link to the doc that explains it:
The TX2 runs RTK Everywhere Firmware, which includes a built-in NTRIP Client for a WiFi connection.
For your custom Android app, you can disable all NMEA output from the TX2, and only send the RMC message at whatever rate you need (1 per second, 10 per second, etc). The RMC sentence bundles position, velocity, course over ground, time, etc into a single message.
You can send other NMEA messages at a lower rate, just for displaying metrics in your App (if you want) - like SIV, Fix Quality, Age of Corrections, PDOP, etc.
IE: You don’t want to send things like the GSV sentence too often, because it can flood the Bluetooth link, with no real benefit.
Option B / get Tx2 connected over WiFi to an external router for Internet access and configure the embedded Tx2 NTRIP client to get Real Time corrections, and the send the corrected position data over Bluetooth to the Android device like in Option A
Option C / connect the Android device to internet, run a Client NTRIP App to get Real Time corrections and send the NTRIP corrections over Bluetooth to the Tx2, at the same time the Tx” will respond with the NMEA position data over Bluetooth
Option D / Tx2 receiving the corrections over Bluetooth/serial from external NTRIP client device and sending the corrected NMEA position data over WiFi.. (not sure at all about this but worthy to check)
I think these are all the possibilities .. am I correct?
Option C / connect the Android device to internet, run a Client NTRIP App
Yes, that is what most users do. The NTRIP Client in SW Maps works very well.
Option D / Tx2 receiving the corrections over Bluetooth/serial from external NTRIP client device and sending the corrected NMEA position data over WiFi
That should be possible, but I don’t think I’ve ever tested it either. You should be able to use one of the TCP modes to push your NMEA out over TCP on WiFi.
Option E: on iPhone, you can use the App Field Maps to link to the TX2 using the MFi interface on Bluetooth Classic. Field Maps doesn’t have a built-in NTRIP Client. But you can run SW Maps simultaneously on BLE and use its NTRIP Client to provide the corrections. I was slightly amazed when I tested this and it worked… But, it does work. Very well… Another option for you.
Thanks a lot for your reply, and for suggestion the Option E, I’ll try testing it if I get the chance!
By now, I’m gonna try to make a initial working version of my small project following the Option A - *“receive NTRIP corrections over WiFi and send Real Time corrected RTK Position data over Bluetooth to an ANDROID device where I can log/save the current position”
*
As with this solution I can re-use the NTRIP license that I have running on a Router device for another purposes.
From the NTRIP Router perspective, I have verified that I can send the NTRIP corrections from the router (NTRIP device) over WiFi to the Tx2 in 2 ways:
as raw TCP stream
as a fully configured NTRIP caster
So questions are:
Would these 2 options work well with Tx2?
What do you think would be the best?
Is there any specific config mode / limitation I must to care about for each case?
I suspect NTRIP will be the easier / best option but it depends on your use case.
Can you share details of your NTRIP Router / device / license? A link to its User Manual would be helpful. That would help us understand your use case.
The router with embedded NTRIP client capabilities to which I may have access to is an RUT x50.
Online Manual here: RUTX50 NTRIP - Teltonika Networks Wiki
This router has a SMARTNET NTRIP License
This router is already up and running and providing NTRIP corrections satisfactorily over serial to another project. I have checked with the team managing its configuration and confirmed that they can configure the RUT x50 to provide the NTRIP corrections over WiFi at the same time as over serial in this 2 ways:
Ran into something similar on my end a few weeks ago and ended up stepping through it the same way you’re describing. The part that tripped me up initially was how sensitive the defaults were to the environment — once I adjusted for that the rest fell into place. Curious what you landed on in terms of the testing loop, because iteration speed seemed to matter more than the specific choice of tool. Happy to trade notes if anyone has a cleaner workflow.
To get started the quickest, I’d use a freeware app (SW Maps is common) and it’s NTRIP Client to connect to the existing NTRIP Caster on the RUTX50, to get everything working.
Then you can migrate to your custom Android App (hopefully will have a NTRIP Client also).
If your App won’t have a built-in NTRIP Client, you can use the Client in the TX2’s Firmware.
IE: NTRIP corrections over Wifi, NEMA output over Bluetooth.
Since the TX2 doesn’t really know (or care) which type of network (transport) is used to get the RTCM corrections to it’s GNSS chip, it provides a lot of flexibility on correction sources and delivery methods.
For clarity, your data collection app (NTRIP Client) could also connect to a different Correction Source (over cellular for example) and the TX2 would keep on working.
That RUTX50 router looks like a very useful, capable piece of kit. Thank you for sharing.
Edit: my first reply was very jumbled. Hopefully this edit makes more sense.
As far as I can tell, you should have no problems if: you have the RUTX50 configured as an NTRIP Server / Caster and it generates a WiFi network or is connected to the same WiFi network as the TX2; and then connect the TX2 to the Caster using standard NTRIP Client mode. If you follow the links below, you can see how I was able to connect Postcard to a SNIP Caster in the same way.
If you want the TX2 to act as a Base and provide the RTCM corrections for the NTRIP Caster / Server, that should be very straight forward too. The easiest way may be to link the TX2 to the router using USB-UART:
The RTK Everywhere Firmware has a mode where the USB (CH342 COM port) can output the RTCM corrections when in Base mode. It looks like you could connect the TX2 USB port direct to the RUTX50 using a standard USB cable. The TX2 provides the RTCM, then the RUTX50 acts as the Caster / Server which your other Rover units can connect to.
I had a similar discussion on GitHub with a user who wants to use a Windows PC and SNIP software to do the same thing. You may find the whole discussion useful, but the important bit for the USB connection is here. The discussion is about Postcard, but TX2 supports the same Ports Menu “Output GNSS data to USB serial” option.