SparkFun Tx2 connectivity

Hi!

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

Thanks in advance for your replies!!!

Welcome to the forum @ROBER7O !

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.

Hei!!

Thanks a lot for your quick reply!

And of course for confirming my hypothesis :slight_smile:

I see that I have another 2 alternatives:

  • 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?

Thanks in advance for your support!

Yes to all (mostly), except I’ve never heard of anyone doing Option D. I’m not saying it wont work, I’ve never tried it.

The most common use is your Option “C” with a smartphone.

Note: I’m not a SparkFun employee, so it wont hurt to get an official answer :slight_smile:

You have a good handle on the lay-of-the-land :slight_smile: Let us know if you have more questions!

Thanks Both for your comments!!

Following up on suggestion, is there any SparkFun employee from Technical Support Team who can confirm or reject our Tx2 connectivity hypothesis?

Thanks you all in advance, I’m getting really comfortable in this new Community!

Hi @ROBER7O ,

Option B / get Tx2 connected over WiFi

Yes, that works.

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.

I hope this helps,
Paul

Hi @PaulZC !

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?

Thanks in advance for your help!

Hi @ROBER7O ,

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.

Best,
Paul

Hi @PaulZC

Sure!

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:

  • as raw TCP stream

  • as a fully configured NTRIP caster

Let me know if further details are needed :slight_smile:

Thanks in advance,

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.

@ROBER7O,

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.

thanks @rftop for your comments, I’ll take them into consideration.

But still prefer to go with my Option A, as for later project integration and scalation is the option that will gives me for flexibility.

Looking forward to get reply from @PaulZC to may last message, in the meantime.. Good Weekend for all SparkFUN community !

@ROBER7O I appoligize if I misunderstood, my intention was to confirm your Option A should work fine :slight_smile:

Hi @ROBER7O ,

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.

I hope this helps,
Paul