ArduSimple configuration

ArduSimple devices (eg. antenna and simpleRTK2 module) can be configures in any number of ways. If you want to change them from one use to another (such as changing from RTK to RINEX logging, or to become a base station), they can be reconfigured using one of the standard ArduSimple configuration files. In general, these configuraions only allow a single purpose at a time, which is inconvenient for some purposes. If you want it to serve two purposes at once, manual configuration takes over.

Reconfiguation can be done using u-center for Windows (not u-center 2), but a phone can use the U-Droid Center for u-blox app to change many settings too. If you needed to do this out in the field while working in an area with no network connection, you would need a computer with that software and configuration file already available.

These instructions were written for the ArduSimple RTK Calibrated Surveyor Kit consisting of an AS-ANT2B-CAL antenna and simpleRTK2 module, but should be applicable to many other of their devices. I did not write these instructions, and I cannot help you with other changes to your device. However, these instructions proved valuable for setting up our own devices, and I have been given permission to publish them here.

Normal receiver, RTK and RINEX output at the same time

The device will need to be reconfigured to output raw data. This requires the device to be connected via USB, and manually reconfigured. There is a standard configuration file for RINEX logging, specifically "RAW data (PPK) over UART1 & USB at 1Hz", but this prevents it from being used for RTK. Manual configuration is encouraged, because even though it is a very laborious process, it would allow you to keep NMEA - normal antenna mode - functioning at the same time as raw data output, so the device can be used in both modes without needing the configuration to be changed in between. The device must then be connected via USB (not BlueTooth) to either a computer or phone in order to use RINEX.

Setting up the device

Normally, the ArduSimple devices are configured to perform just one task at a time (such as RTK or RINEX), and for that purpose, they are normally reconfigured using one of the standard ArduSimple configuration files, specifically the "RAW data (PPK) over UART1 & USB at 1Hz" configuration for RINEX. Reconfiguation can be done using u-center for Windows (not u-center 2), but a phone can use the U-Droid Center for u-blox app to change many settings too.

However, if you needed to do this out in the field while working in an area with no network connection, you would need a computer with that software and configuration file already available. Manual configuration is much more flexible, because even though it is a very laborious process, it would allow you to keep NMEA - normal antenna mode - functioning at the same time as raw data output, so the device can be used in both modes without needing the configuration to be changed in between. These instructions show how to do that.

The first step is setting up the device to output NMEA (generic GNSS antenna) messages, and UBX (raw data) messages. This is done using a Windows computer, and u-center for Windows (not u-center 2).

  1. Connect the ArduSimple XBee to USB adapter module via USB to your computer.
  2. Install and run u-center on your computer.
  3. Connect to your ArduSimple by selecting the correct baud rate (default 38400) and the appropriate COM port (this will be locally dependant).
  4. Backup your current config, since it will be overwritten:
    1. Tools - Receiver Configuration.
    2. Select output location and name.
    3. Transfer GNSS - File.
    4. Close the receiver configuration.
  5. Ensure RAW UBX messages are enabled via USB:
    1. View - Configuration View. Configuration pages are shown on the left. You will need to click "Send" on the bottom toolbar before switching pages, after you make any changes.
    2. On the NMEA (NMEA Protocol) page, enable "High precision mode" and set "Numbering used for SVs nt supported by NMEA" to "1 - Extended (3 digit)". Click "Send".
    3. On the MSG (Messages) page, select the following message types, and enable the correct options below for each of them:
      1. 01-07 NAV-PVT (raw navigation position velocity time solution), enable UART1, UART2 and USB.
      2. 02-15 RXM-RAWX (raw satellite data), enable UART1 and USB.
      3. 02-13 RXM-SFRBX (raw navigation data), enable UART1 and USB.
      4. F0-00 NMEA GxGGA (NMEA positional data), enable UART1, UART2 and USB.
      5. F0-00 NMEA GxGST (NMEA accuracy data), enable UART1, UART2 and USB.
      6. F1-04 PUBX04 (satellite time data), enable UART1 and USB.
      7. Optionally enable UART1 and USB for F0-01 NMEA GxGLL, F0-02 NMEA GxGSA, F0-03 NMEA GxGSV, F0-04 NMEA GxRMC and F0-05 NMEA GxVTG.
    4. Click "Send".
    5. On the PRT (Ports) page, set "Target" to "1 - UART1", and set "Baudrate" to "115,200". Click "Send".
    6. It will disconnect you and attempt to reconnect at the new baud rate. If this fails manually select the new baud rate and if this still fails, remove the USB and reconnect again, then connect at the old baud rate and try again.
    7. On the GNSS (GNSS Config) page, enable the constellations that cover your area.
    8. To use SBAS, tick "Configure", "Enable" and "Signal; L1C/A". Note that this causes large jumps when using RTK whenever the signal temporarily drops out (rather than continuing to use the outdated NRTK data), so it is best kept disabled for NRTK (and Net_Diff does not use it when post processing RINEX data anyway).
    9. Click "Send".
    10. Save the configuration; on the CFG (Configuration) page, select "Save current configuration", set "Devices" to "0 - BBR" and "1 - FLASH". Click Send.
    11. Close configuration view.

Recording NTRIP data from the device

The device can be used via an application that supports NMEA, on any device that can connect via USB or Bluetooth. The following are a few of the options that could be used.

Using a Windows computer

  1. Connect the ArduSimple antenna via the TNC to SMA cable to the ArduSimple simpleRTK2 module.
  2. Connect the ArduSimple XBee to USB adapter module via USB to your computer.
  3. Use u-Center on your computer.
  4. Connect to your ArduSimple by selecting the correct baud rate (this should have been changed above to 115,200 from the default of 38,400) and the appropriate COM port (this will be locally dependant).
  5. Receiver - NTRIP Client...
  6. Set Address as either the domain name or IP address of the service you want to use (eg. rtk2go.com), Port (eg. 2101) and username/password.
  7. Click "Update source table".
  8. Set the NTRIP mount point to your closest RTK station that provides the service you need.
  9. Click "OK".
  10. The output appears in the "Data" view. Use View - Docking Windows - Data to show it.

Using Android via Bluetooth

  1. Connect the ArduSimple antenna via the TNC to SMA cable to the ArduSimple simpleRTK2 module.
  2. Connect the ArduSimple XBee to USB adapter module via USB to a USB Power Source, such as a battery pack.
  3. Pair the Bluetooth device with Android:
    1. Android settings - Connections - Bluetooth.
    2. Under "Available devices", tap on "simpleRTK2B" (or however your device appears).
    3. Agree to pair with the device.
  4. Use your chosen app to perform RTK. The suggested app is Lefebure NTRIP Client, as it allows mock location:
    1. Settings - Receiver Settings - Receiver Connection = External Via Bluetooth
    2. Bluetooth Device = simpleRTK2B
    3. Antenna Height = the phase centre offset for the antenna (since Lefebure cannot use ".atx" files); the AS-ANT2B-CAL has 5 cm L1, 4.6 cm for L2, so just use an average 4.8.
    4. Enable "GPS Mock Locations" to allow other apps to see the location that Lefebure calculates.
    5. Settings - NTRIP Settings - Network Protocol = NTRIP v1.0
    6. Set Caster IP as either the domain name or IP address of the service you want to use (eg. rtk2go.com), Caster Port (eg. 2101) and username/password.
    7. Close settings.
    8. Tap on "Connect".
    9. If Android prompts to grant access to photos and media, accept (this is so it can create log files - currently does not work in Android 11).
    10. A list of Data Streams will be presented, select your closest RTK station that provides the service you need.
    11. Shortly the Fix status will change to "FloatRTK".
    12. Wait while it resolves your fix.
    13. The Fix will finally become RTK which is RTK Fix.
    14. To change the RTK station, use Settings - NTRIP Settings - Data Stream = select your desired station.
  5. Enable mock location on Android:
    1. Enable Developer options; in Android settings go to "About phone - Software information" and tap 7 times on "Build number".
    2. Go back to the settings page, then into "Developer options" and use "Select mock location app" to select the Lefebure app.
  6. Record in your chosen application. (Note that mocked locations do not show as much information to apps, so some may fail to show you satellite views. SW Maps will give less information when used this way than it could if it was used to directly connect to the ArduSimple device.)
  7. Alternatively, use the the SW Maps app directly, instead of using the mocked location from Lefebure (ignore the Lefebure and mock location steps).
    1. Start SW Maps.
    2. Menu (the Map icon in the top left of the screen) - Bluetooth GNSS.
    3. Select the simpleRTK2B device.
    4. Select the device type as u-blox RTK.
    5. Tap on Connect.
    6. Menu - NTRIP Connection.
    7. Set Address as either the domain name or IP address of the service you want to use (eg. rtk2go.com), Port (eg. 2101) and username/password.
    8. Tap the refresh button beside Mount Point.
    9. Set the Mount Point to your closest RTK station that provides the service you need.
    10. Tap on Connect.
    11. SW Maps will now use the ArduSimple device.

Using Android via USB

  1. Connect the ArduSimple antenna via the TNC to SMA cable to the ArduSimple simpleRTK2 module.
  2. Connect the ArduSimple XBee to USB adapter module via USB to your phone with an OTG Cable. The device will now be powered by the phone.
  3. The SW Maps app can perform RTK and take readings directy, but cannot pass the location to any other apps:
    1. Start SW Maps.
    2. Menu (the Map icon in the top left of the screen) - USB Serial GNSS.
    3. Select the FT232R USB UART device.
    4. Select the correct baud rate (this should have been changed above to 115,200 from the default of 38,400).
    5. Select the device type as u-blox RTK.
    6. Tap on Connect.
    7. Tap OK if you are asked for permission to Allow SW Maps to access the FT232R USB UART device.
    8. Menu - NTRIP Connection.
    9. Set Address as either the domain name or IP address of the service you want to use (eg. rtk2go.com), Port (eg. 2101) and username/password.
    10. Tap the refresh button beside Mount Point.
    11. Set the Mount Point to your closest RTK station that provides the service you need.
    12. Tap on Connect.
    13. SW Maps will now use the ArduSimple device.
  4. Alternatively, if you need to access the location from other apps, the TCPUART transparent Bridge app can deliver the antenna data to Lefebure, allowing the mock location option to share the result with all other apps:
    1. Use TCPUART to convert the USB connection into a TCP connection:
      1. Open TCPUART.
      2. Enter the Baud Rate that the ArduSimple is set to (eg. 115200).
      3. Tap on Connect.
      4. Allow TCPUART access to your USB Interface.
      5. Start the TCP in server mode, you can change the Port to whatever you need, eg. 8080.
      6. Take a note of the "this server IP: xxx.xxx.xxx.xxx".
    2. Connect Lefebure to perform NTRIP:
      1. Open the Lefebure NTRIP Client app.
      2. Settings - Receiver Settings - Receiver Connection = External via TCP-IP (Beta)
      3. Dismiss the dialog that appears.
      4. Set Receiver IP to the Server IP from TCPUART.
      5. Set Receiver port to the Server IP from TCPUART.
      6. Close settings.
      7. Follow the Lefebure instructions from the Bluetooth section above, from 4.h onwards.
      8. Returning to TCPUART shows traffic throughput in both directions.

Recording RINEX data from the device

  1. Collect the raw UBX data - this requires a USB connection, as the device will not send all the required data over a Bluetooth connection:
    1. Using a Windows computer:
      1. Connect the ArduSimple antenna via the TNC to SMA cable to the ArduSimple simpleRTK2 module.
      2. Connect the ArduSimple XBee to USB adapter module via USB to your computer.
      3. Use u-Center on your computer.
      4. Connect to your ArduSimple by selecting the correct baud rate (this should have been changed above to 115,200 from the default of 38,400) and the appropriate COM port (this will be locally dependant).
      5. Wait for the Satellite Signal and accuracy to stabilise.
      6. Player - Record to capture data.
      7. Player - Eject after a few hours of data capture (the more the better).
    2. Using Android:
      1. Connect the ArduSimple antenna via the TNC to SMA cable to the ArduSimple simpleRTK2 module.
      2. Connect the ArduSimple XBee to USB adapter module via USB to your phone with an OTG Cable. The device will now be powered by the phone.
      3. Use the SW Maps app to record raw UBX data (U-Droid Center for u-blox also works):
        1. Menu (the Map icon in the top left of the screen) - USB Serial GNSS.
        2. Select the FT232R USB UART Device.
        3. Select the correct baud rate (this should have been changed above to 115,200 from the default of 38,400).
        4. Enable "Log to File" (this is what will cause the UBX file to be created).
        5. Select the device type as u-blox RTK.
        6. Tap on Connect.
        7. Tap OK if you are asked for permission to Allow SW Maps to access FT232R USB UART.
        8. It will begin recording immediately.
        9. Tap on Disconnect after a few hours of data capture (the more the better).
      4. Transfer the resulting file to your computer. On Android 11, this is located in Internal Storage - Android - media - np.com.softwel.swmaps - RawData
  2. Convert UBX to OBS/RINEX and NAV:
    1. Use the rtkconv utility from RTKLIB.
    2. Use "Options":
      1. Select RINEX Ver 3.03 or higher.
      2. Select all Satellite Systems that will have been captured.
      3. Select all Observation types.
      4. Select all supported frequencies.
      5. Enter the Antenna details, eg. "#" = "00000001" (or "unknown", it's not important), "Type" = "AS-ANT2BCAL     NONE" (look in the antenna's ATX calibration file for the exact format of the Type, since spaces are important; the word "NONE" - or any other specific subtype - must start as the 17th character).
      6. Close options.
    3. Under "RTCM, RCV RAW or RINEX OBS", select the raw data file.
    4. Set the "Format" to "u-blox UBX".
    5. Optionally select an output directory (default is the same as the input file).
    6. Tick all file types that you want (particularly "RINEX OBS" and "NAV"), and optionally supply file paths/names.
    7. Click "Convert".
    8. Check the output files. If they do not exist, it is likely that some of your ArduSimple configuration has been missed.

Wasn't that simple?