Skip to content

RFD 868x Modem

Rik Baehnemann edited this page Jul 6, 2022 · 13 revisions

Point-to-point Corrections via RFD 868x Modem

This page describes settings up two RFD 868x modems to send base corrections to the rover.

Hardware Setup

Both the base station and the rover require a modem. Connect the serial connector of the modem to each Piksi Multi (both run on 3.3V logic) and power the modems from a sufficient 5V supply. Connect two 868 Mhz antennas to each modem, e.g., ANT-868-CW-RCS-ND.

Piksi Multi RFD 868x Power Supply
PIN 10 GND PIN1 GND GND
- PIN4 +5VIN +5V
PIN 11 UART0 TX PIN7 RX -
PIN 12 UART0 RX PIN9 TX -

Note: Depending on the transmission power (p.5) the power consumption can be greater than 5W which may be greater than the Piksi evaluation board regulated supply.

Note: When using the Piksi evaluation board make sure setting the UART LVTTL level jumpers.

Minimum Modem Configuration

We use RFD900 Tools to configure the modems. After connecting to the COM device update to the latest RFD SIK firmware. Then switch into Terminal mode where you can enter AT commands to configure the modem. Type ATI5 to show all parameters. Use ATSn=X where n is the id and X the value to set parameters. This is a minimal working setup.

Rover:

S0:FORMAT=63
S1:SERIAL_SPEED=115
S2:AIR_SPEED=200
S3:NETID=21
S4:TXPOWER=27
S5:ECC=0
S6:MAVLINK=1
S7:OPPRESEND=0
S8:MIN_FREQ=869400
S9:MAX_FREQ=869650
S10:NUM_CHANNELS=1
S11:DUTY_CYCLE=10
S12:LBT_RSSI=0
S13:RTSCTS=0
S14:MAX_WINDOW=131
S15:ENCRYPTION_LEVEL=0
S16:GPI1_1R/CIN=0
S17:GPO1_1R/COUT=0
S18:GPO1_1SBUSIN=0
S19:GPO1_1SBUSOUT=0
S20:ANT_MODE=0
S21:GPO1_3STATLED=0
S22:GPO1_0TXEN485=0
S23:RATE/FREQBAND=0
S24:GPI1_2AUXIN=0
S25:GPO1_3AUXOUT=0
S26:AIR_FRAMELEN=120
S27:RSSI_IN_DBM=0
S28:FSFRAMELOSS=50
S29:AUXSER_SPEED=57
R0:TARGET_RSSI_dBm=0
R1:HYSTERESIS_RSSI_dBm=5

Base:

S0:FORMAT=63
S1:SERIAL_SPEED=115
S2:AIR_SPEED=200
S3:NETID=21
S4:TXPOWER=27
S5:ECC=0
S6:MAVLINK=1
S7:OPPRESEND=0
S8:MIN_FREQ=869400
S9:MAX_FREQ=869650
S10:NUM_CHANNELS=1
S11:DUTY_CYCLE=10
S12:LBT_RSSI=0
S13:RTSCTS=0
S14:MAX_WINDOW=131
S15:ENCRYPTION_LEVEL=0
S16:GPI1_1R/CIN=0
S17:GPO1_1R/COUT=0
S18:GPO1_1SBUSIN=0
S19:GPO1_1SBUSOUT=0
S20:ANT_MODE=0
S21:GPO1_3STATLED=0
S22:GPO1_0TXEN485=0
S23:RATE/FREQBAND=0
S24:GPI1_2AUXIN=0
S25:GPO1_3AUXOUT=0
S26:AIR_FRAMELEN=120
S27:RSSI_IN_DBM=0
S28:FSFRAMELOSS=50
S29:AUXSER_SPEED=57
R0:TARGET_RSSI_dBm=0
R1:HYSTERESIS_RSSI_dBm=5

After setting desired parameters use AT&W to save them to EEPROM and ATZ to reboot the device. See the RFD peer-to-peer manual to see which parameters need to be matching in order to link. See these advanced setting informations to tune the link based on your application.

A successful link should show immediately with a steady green LED on both modems.

Note: Depending on your country you need to change the transmission power and duty cycle. Using the maximum setting can be illegal!

Linux

Connect to the factory modem with

picocom /dev/ttyUSB0 --baud 57600 --flow n --parity n --databits 8 --stopbits 1

Then type +++ to enter AT command mode.

Testing

One easy way to test is to connect both base modem and rover modem to your computer with FTDI 3.3V USB cables. Then you can chat between the modems. E.g. let's assume the base is connected to /dev/ttyUSB0. Write the current time to the serial device once per second.

stty 115200 -F /dev/ttyUSB0
while :; do date +%s ; sleep 1 ; done > /dev/ttyUSB0

Then on the receiving rover modem read the time.

screen /dev/ttyUSB1 115200

Troubleshooting

If everything is connected and configured the base station should send corrections with 1Hz to the rover. The rover Piksi Multi should have a red LED blinking. If it's not blinking

  1. double check your hardware connections
  2. connect both modems to a computer via FTDI and try communicate through screen
  3. check UART0 on the rover and base
  4. double check that you configured the Piksi base and rover correctly