Digi SX (PRO) / Ardusimple LR (XLR) Radio compatiblity

There’s been some off topic discussion in a couple other threads about using Digi SX (Pro) radios instead of the Ardusimple LR (XLR) ones and I have some more info to add so I thought it best to start a new thread to document my venture in this direction. For background on the previous discussions see post 190 to 213 here and post 6 to 19 here.

Summary

Ardusimple builds an adapter board with SMA connector and solders the SX (20mW) or SX PRO (1W) radio for you and calls it LR and XLR respectively. The bare radio comes as a SMT, hence the adapter board, but you can get a version with a U.FL antenna connector and solder 2mm pins yourself for less money then buying from Ardusimple but keep in mind you then also need a u.fl pigtail and antenna (the antennae incl. from Ardusimple are good ones). According to @torriem Ardusimple’s LR/XLR come with Digi’s 9Xtend hopping firmware which I can also confirm and my new SX radios also came with the 9Xtend firmware already installed. You can use any XBee USB adapter to program the bare SX radios yourself or if you have one of the simpleRTK2B boards then use it’s XBee header and XBee USB port (thanks @Mechanic)
Digikey list of SX family radios

Pin soldering & pinout comparison

Solder a 2mm pin header (10 pin piece) to the SX radio on the left side from pin #2-11 (skip pin 1) and another 10 pin header to the right side pin #24-33 (aligned with the first header). As you can see from the diagram, the pinout then matches. For a base radio, you only need the connections in yellow once the radio has been programmed.
xbee smt tht - min io

This is how I setup my pin headers, so that the pins didn’t stick out past the pcb, this way I could make sure the pcb pad soldered. I used my XBee USB adapter to hold things in place but as mentioned by @Mechanic you can use your arduSimple RTK2B type board too for holding and programming later.
20210614_140738
20210614_140700

Using some solder flux helps to help with soldering and prevent bridging, you’ll see in some pics it wanted to bridge to the rf shield.
20210614_142341

I tried hard to make sure the pins soldered properly to the pads, I quickly noticed some did not so in the end I always tested their adhesion by gently pulling on each pin with a tool. On one I pushed the pin header’s plastic down to get better access to the pins, on the other I left it in place.
20210611_155942
20210614_142406
20210611_155951

Update 210730
I have now ordered an XBee SMT to THT adapter from JLCPCB.
top bluebot blue
The design is here, currently it’s untested.
It costs me about half for the SX PRO incl. a u.Fl pigtail and 900mhz antenna compared to arduSimple’s XLR kit and about 1/3 for the SX (LR kit)

Update 210731
Here’s an update with the on board sma connector option.
topbot

Programming

Use Digi’s XCTU for configuring. Following the link to the xctu user guide for downloads and help. I used the Profile → Create Configuration Profile option to backup/save the arduSimple config but after studying the settigns for a while I realized they are using a mostly default config, only changing the following items. Make sure to write each change to the radio as you go along, for some reason I had trouble writing all changes at the end.

  • CM 5555555555555555555555555
    For NA, yours might be diff
  • ID xxxx
    Make this the same for all the radios that you want to communicate, base and rovers are the same
  • MT 0
    I set my broadcast re-transmits to 0, because if you’re sending data every second like most do for RTCM then you’ll soon have another new packet going out, no need to keep sending the old one, plus this lowers the required RF data rate (see next).
  • BR 0
    I’m going to try the lowest possible RF rate in hopes that it’s sufficient because that increases the receiver sensitivity substantially which should increase the range. (to be tested)
  • PL 0 for rover, 2 for base
    There is application to have your rover send data back but with multiple rovers that quickly becomes useless so I set mine to the lowest setting, but set your base to the highest for max range.
  • DL 0 for rover, FFFF for base
    FFFF is the broadcast address for your base to send to all rovers, and I used 0 for the rovers so that if any rover does try to send data all other radios will ignore it.
  • TO 40
    On my arduSimple LR kit and on my new SX radios, this was set to 40 but on my new SX PRO this was C0, not sure yet what that means.

The rest you can all leave as default unless you want to change the serial output settings, I lowered the baud to 38400 because slower speeds are more forgiving in most regards.

Regarding firmware upgrades etc, arduSimple does not recommend upgrading firmware on the Digi radios as it might mess up the config (can’t find reference now). So I decided to stay with ver 9007 which meant downgrading my new SX PRO but it worked just fine. It appears that XCTU downloads the firmware files for you so no need to get them yourself separately.

3 Likes

Yes should work.

1 Like

Yes I did it this way. Ordered only rtk2go from ardusimple, and ordered digi sx radio and u.fl to sma pigtail from mouser. Much cheaper. Ordered an smd to dip adapter from ebay and soldered the digi sx to that, it then plugs into rtk2go xbee slot. Then program the plugged in digi sx radio on the ardusimple pcb via its own usb connector. No need for an aditional Xbee usb adapter.

2 Likes

Excellent idea to use the XBee port on the arduSimple F9P to program the SX radio. Can you share which SMD to DIP board you bought? I’ve seen some that are meant for the Digi 868, I think it’s the same footprint as the SX but if using the SX PRO, I’m not sure how necessary it is to have the heat sink pad soldered too.

1 Like

@torriem or @Mechanic, comparing the configuration via xctu between the arduSimple LR base and rover I don’t see any difference, both are set to broadcast at full power (13 dbm) which doesn’t surprise me (the kits are setup for the rover to send back GGA) except that I thought one would somehow be designated as the PtMP master. I’ve added a 2nd rover by cloning the arduSimple rover’s config to a new SX and when connecting to all three radios, each with a serial terminal, I see each radio broadcasts to all the other radios. I would be okay with each rover being able to send data back to the base but I don’t want a rover to accidentally inject data into the other rover’s base RTCM stream. I’ve reached out on Digi’s forum. I still have a lot of reading to do on the various Network settings but I was hoping someone has more experience.

There are no network settings you need to mess with, really. Just the hopping settings need to be the same on all radios. The radios are not operating in any sort of networking or mesh mode. The other radios all hear whatever radio is talking. If two radios talk at once you’ll just get a lot of interference. So it’s important to make sure your roving units are not sending anything. Also you could turn the roving units power down to minimum since they’ll never be transmitting, so if they ever do they wouldn’t overpower the base transmitter.

1 Like

I figured out that on the rovers you can set DL (Destination Address Low) from 0xFFFF (broadcast addr) to something that doesn’t exist like 0x0. Then if the rovers do throw out some data no one will receive it. Then I also set the rover PL (TX Power Level) to the lowest 0x0 (0 dbm) and set MT (Broadcast ReTransmissions) from 0x3 to 0x0 on all devices (especially the base radio), so that it only sends each RTCM packet once instead of 3+1 times, if the rover misses it, the next RTCM is only 1s away from being sent so I don’t feel like it needs re-transmitting. This allows me to get away with a RF data rate of 10kbps as I calc my base is sending at a rate of 6.7 kbps, hopefully works out, if not I’ll lower my base output to 0.5hz. So hoping to improve wireless range, I lowered BR (RF Data Rate) from 0x1 (110 kbps) to 0x0 (10 kbps) on all radios, should improve receive sensitivity by 7db (every 3 db is double rf output or snr, and using an omni you need 6db to double your range?).

1 Like

I found to have excellent range using a RF Data Rate of 110 kbps so I’ve left it set like that, this does allow me to send the RTCM msgs more frequently if I want to.

1 Like

I’ve edited my first post to include my XBee SMT to THT adapter. I’ll have extra PCBs available to sell once they arrive. Should be pretty cheap, mostly just cost shipping/postage.

2 Likes

Did you get to testing the 10kbs set up? Im having trouble sourcing the xbees on Australian frequency but there are some 250mW point to miltipoint 10kbs available. I’d love any advice before I buy some and find they dont work

Eventually I realized I had used a mismatched RF connector so once I remedied that then the higher RF speed worked well and I never tested the low speed.

1 Like

Any way we could get the images in the 1st post re-added? They appear to me as missing/transparent 1px images.

I used the xbee’s on 10kbps rtk @ 1Hz with 3 constellations and they worked ok. I did this to get better range, but after all it did not work better then on 80kbps.

Unfortunately I don’t think I saved my original photos, at least I can’t find them.

Shoot, understandable! Thanks for checking!

It looks like there is a global shortage of these radios(aside from digikey which has one version at 3x cost lol) so I guess I’ll try to snag some as they come into stock and try to get something working. (unless I can find another less expensive radio telemetry solution…)

Have you tried ardusimple? Seems they always have stock.

They sell their own modules with the radio already put on a pcb w/ header pins.

I want a cheaper option which these are if you buy the radio modules(when available at regular pricing) and slap it on your own pcb… Buying it from them defeats the objective

At 3x regular price you might be better off buying from arduSimple.

That is atleast the pricing on digikey, some other sites have them listed at normal pricing (~40-50 USD) with some being expected to be instock soon-ish. Which would let me get 2x “XLR” setups for ~100 + 10(pcb)+ ~20 (antennas) = $130 USD plus the fun of building it.

I’ll pop back in here if I manage to snag some and build them up.

1 Like

Is it possible to apply an additional power amplifier on the base to this radio module? to amplify the signal.