Need help planning a RF network with Digi SX radios for RTK correction data

I posted this to Digi’s forum but wondering if there are any Digi SX experts here? @torriem?

I want to setup a radio network on the farm to distribute RTCM RTK correction data from my base station (100’ tower) to the tractors/rovers. I have one SX PRO (XBP9X-DMUS-001) for the base transmitter and I’m planning to use SX non-pro (XB9X-DMUS-001) for the rovers as the data only needs to go from base (xmit only) to rovers (recv only). Based on my simple range test, I might want to setup repeaters at additional locations to get better coverage, most additional locations are already connected via PtP IP network radios so the repeaters wouldn’t have to repeat the primary base’s RF data but they should be within range to do so which would simplify the repeater installations (no additional ethernet-serial bridges needed).

Is this a Mesh network that I’m describing or a PtMP with repeaters? There might be some rare cases when it would be beneficial for a rover radio to mesh/repeat the data to another rover in a blind spot. I can justify buying a SX PRO for each static repeater (1-3 extra units) but it would be very convenient to stick with the lower power SX for the rovers (uses less power and cheaper).

I’m also not sure how important it is to block the rovers from accidentally sending data to the RF network and causing RTCM stream corruption on the other rovers. I have started by setting my rovers’ DL (Destination Address Low) to 0 so that all other devices ignore it but depending on how you recommend I setup my Digi RF network, rovers may need to transmit if they’re in a mesh or repeater mode? Or does the DL parameter only apply to data coming in via serial and not other behind the scenes RF meshing magic?

I tried to extend my range by lowering the BR (RF Data Rate) from 110 kbps to 10 kbps and setting MT (Broadcast Multi-Transmits) from 3 to 0 but I think that’s too slow to handle the RTCM data stream (about 500 bytes/s) as I can see that not all RTCM packet types get broadcast. I also tried to lower my base station’s (Piksi Multi) RTCM output to less then 1hz but that only affects 4 of the 8 RTCM packets, the rest still go out at 1hz. It might still work if I could implement hardware flow control because I suspect my base station outputs the RTCM in bursts (at 1hz) which causes buffer overflow in the SX PRO but I’ve increased BR back to 110 kbps for now. Currently I’m feeding my main SX PRO’s serial input via a USR-TCP232-T2 (ethernet-serial) device on the top of my main base station tower. The TCP232-T2 does have a decent buffer (4 KB) on the network receiver so I’ve wondered if I could just slow down the serial baud to better match the lower RF Data Rate setting, I’m not sure how to match those rates.

Another question regarding the remotely located nature of my base station SX PRO, I have not figured out how to make changes to my SX PRO’s configuration remotely without having to climb the tower with my laptop and an XBee USB adapter. Is there a possibility of using an ethernet-serial server/adapter to make config changes with XCTU or would it be better to setup the RF network so that I can use a special rover SX radio to remotely config the base SX PRO?

This is what I did for my simple range test. My base station SX PRO is set to output full 30 dbm, it has a 16’ LMR195 cable to a high gain (4’ long) 900 mhz omni 110’ above ground. I used a magnet mount 11 dbi antenna on the roof of my truck, with the SX plugged into the XBee header on an arduSimple simpleRTK2B F9P gps receiver while I drove around watching the GPS data with Ublox’s u-Center software on my laptop. Watching the GGA NMEA sentance I could see how old the differential correction data (RTCM stream) was. Out in the open, I received a decent rate of corrections (at BR 110 kbps) at a distance of 2.5 - 3.5 miles. At 1.5 miles trees 1000’ away were already an issue. Compared to our old AutoFarm system (20 yrs old?) which uses Freewave FGR09 radios (also 1W output), they achieve good operation at 5 miles in the open and 3.3 miles still works when on the dark side of a treed yard.

So I’ve spent a enough time on this already to know I need help from someone with better knowledge of how the SX radios work. If you’d rather communicate verbally instead of typing, please let me know.

1 Like

TO set to 0x80 ?

I don’t have any special knowledge in this area. I’m surprised the range is worse than the Freewave radios. I’ve not messed with any of the parameters on the radios other than the network id and hopping prefix. We won’t have much for trees or hills here! I guess the Digi radios must not have as robust encoding for the data at the 110kbs speed. That’s disappointing. I wonder what speed the freewave are transmitting data at.

I’ve thought a bit about repeaters. Typically a repeater listens on one frequency or channel and re-broadcasts on another. But that would mean the rover has to listen to both channels (with two radio), the yard radio, and the repeater radio to get coverage anywhere on the farm. That’s possible I suppose. We know the F9P will happily accept RTCMv3 on more than one input and just ignores the packets it’s already seen.

For my base station I figure the packets I’m sending are need closer to 38400 baud or more, so the lower bitrate on the radio isn’t going to cut it.

As for programming access to the radio. I assume you have the F9P up on the tower with the radio, so everything is up there? I wonder if a program on an ESP32 could normally bridge between serial 1 and serial 2 (passing data through to the radio), and if you connect to the ESP32 over wifi to a TCP/IP port, could connect directly to the serial link going to the radio. On the PC, there are virtual serial port programs that can connect to a TCP/IP socket and make that appear like a serial port which u-connect could work with. Sounds a bit complicated. Maybe there’s an easier way.

1 Like

Another idea is to convert the serial out of the F9P to RS232 with a converter, then use an RS232 over ethernet extender–which can handle long distances. Run two ethernet cables down the tower. In normal operation, it would be F9P->TTL to RS232->RS232 extender->cable to bottom->simple joiner->cable to top->RS232 extender->RS232 to TTL->Radio. Sounds convoluted, but if you needed to tweak the radio you could break the connection at the base of the tower, put another RS232 extender transceiver on it and hook it to your laptop.

1 Like

I’m using a Piksi Multi dev kit, mounted on the roof of the house (more stable then the tower) and it has Ethernet TCP & UDP server/client capabilities. On the tower I have a USR-TCP232-T2 bridging the Digi SX PRO with the Piksi’s RTCM TCP server. I made the mistake of only connecting 1 of the serial lines (TCP232->SX) but I’ve tried to connect with xctu through a virtual serial port with another tcp232 and SX radio on my bench, I suspect xctu needs to reset the SX with the dtr line or by rapidly switching baud rates.

1 Like

Good point about the other signals needed to get the radio into a state where u-connect can work with it.

At 110 kbps there should be enough air time to rebroadcast on the same frequency, which is what I thought the other XBee style radios did in repeater mode. I’m hoping to speak with a Digi sales/engineer next week.

Can you provide any further explaination?

They are set to 0x40 (PtMP) which is how arduSimple had my original LR radios set. 0x80 would be Repeater/Directed-Broadcast. Looking at the list of options (see below) I maybe should have tried 0xC0 when I had BR set at 0. :thinking:

0x40 = Point to Point/Multipoint
0x80 = Repeater/Directed-Broadcast
0xC0 = DigiMesh (Point to Point/Multipoint if BR = 0)

@torriem I think you’ve mentioned an alternative mesh firmware for the SX radios, looking at the radio settings with XCTU, TO (Transmit Options) has a mesh option (0xC0). Does Digi sell Mesh radios that are otherwise identical with compatible crossover firmware?

Yes they do. In fact all my SX modules came with a mesh firmware on them that I overwrote with hopping. There are two other firmwares, not sure which one is best. There’s the “XBee SX” firmware which has digimesh, and then there’s also a firmware called “XTC Digimesh.” I’m not sure which is the right version. Maybe one is for the 1 watt radio and the XBee SX is for the the low power roving unit?

My new SX & SX PRO came with the same firmware as my LR from arduSimple, I just downgraded my SX PRO to a lower version (v.9007) to match. Attached are the firmware options for my SX radios (two options for the same radio). I’m on the XBee SX firmware. I take it you’re using XTC Hopping? I can’t see what my SX PRO’s options are without climbing the tower :person_climbing:
(It’s not that bad, I harness up, use a cable, pulley & counter weight to save the legs, climbed on the inside of a square tower with proper ladder rungs)
xtc hopping
Xbee SX

I’m using XTC Hopping, yes. That’s basically a conventional radio modem. One unit talks, everyone else hears, and if two talk over each other you likely get nothing.

I’m a bit surprised the Ardusimple radios were not using hopping. You might try the hopping firmware and see if the range is any better that the XBee SX firmware and it’s digimesh system.

xtc digimesh
When creating a config profile (config/settings backup file) I also see the XTC DigiMesh firmware mentioned too along with the other two that I showed screenshots of but not that XCTU offers it as an upgrade option on the SX. I’m waiting for a reply from Digi tech support, hoping to figure out what all the options are.

I have been successful with wireless/remotely configuring a Test-Base radio (even firmware update works) from a Test-Rover on the bench with the “Xbee SX” firmware using mostly factory default settings (I think the key is leaving in default mesh mode, TO = 0xC0)

1 Like

From Digi tech support

XTC Hopping and XTC DigiMesh are 2 legacy firmware supported by these module. You can find more details about them here:
XBee®/XBee-PRO XTend Compatible (XTC) RF Module User Guide
XBee®/XBee-PRO XTend Compatible (XTC) DigiMesh RF Module User Guide

Both links mention new designs should use the Digi SX as they have optimized its firmware for “best range and interference immunity”. So I’m thinking the “XBee SX” firmware should be the best one to use (supports PtMP and mesh) unless you need backwards compatibility with XTend (XTC) radios.

1 Like

I’d be interested in a real-world range test of XTC hopping vs XBee SX PtMP.

But in your case it looks like the mesh part of the XBee SX firmware might help you with the repeater.

1 Like

I might do that yet.

I had a major “facepalm” moment today. After many days of testing my SX radios I thought I’d try a couple spare Autofarm Freewave radios, also 900mhz 1W frequency hopping. As I was about to attach the antenna cable to the Freewave I saw this.
SMA female-1-800x800~2
So I set my SX PRO radio back up with the correct pigtail and did a range test in my pickup truck. Wow! 7+ miles of range even when 100’ behind some trees.

1 Like

I’m glad the SX pro didn’t burn out it’s transmitter circuitry with the antenna essentially not connected!

Yeah, I thought of that too. Doesn’t seem to be damaged. Some of the quick start guides say to plug in usb before attaching the antenna but it may not have enough power then for the maximum RF output (manual says you need 3.3+ V for the PRO at 1w/30dbm output). My measurements showed about 2A at max RF output so the USB XBee adapters probably have some voltage droop at that current.

I am thinking about switching from RFD900 radios for RTK to the Digi Xtend 900. I remember someone telling me that the digi allows different baud for input and output. I want to increase my baud on uart2, between both F9P’s back to 230k. Currently I’m at 115k because it kills the radio range to go any higher. Also is the xbee module suitable for the rover ? I have never been around these radios, and don’t know what is required to configure them. Without being familiar with them, most of the communication on this post is confusing. RFD900 have automatic hopping frequencies, but I read where that needs to programmed on the Digi ? Any advice will be great