Skip to content

RFD900 Radio Configuration

Reference RFD-TR-001. How to configure the RFD900x (ground) and RFD900ux (airborne) telemetry radios.

Over-the-air (OTA) configuration — the standard method

Section titled “Over-the-air (OTA) configuration — the standard method”

PX4 does not provide a serial-passthrough shell, so routine configuration of the airborne radio is done over the air from the ground station:

  1. Connect the ground RFD900 to your PC and establish a link with the aircraft.
  2. Open QGroundControl → the Radio / SiK Radio configuration tab.
  3. Click Load Settings — settings for both the Local (ground) and Remote (aircraft) radios load.
  4. Modify the Remote settings as required (NetID, power, duty cycle) and Save — changes are sent over the air.

Deep changes — serial passthrough on the bench

Section titled “Deep changes — serial passthrough on the bench”

Changing the airborne radio’s baud, encryption, or firmware requires a direct serial path. The RFD900ux has no exposed connector once installed — the path is through the autopilot, by temporarily flashing ArduPilot (which has a passthrough feature PX4 lacks):

  1. Power: connect the flight battery (props off) — the airborne radio is powered from the servo-rail supply and stays dark on USB power alone.
  2. Flash ArduPilot via QGC → Vehicle Setup → Firmware (select ArduPilot, your board).
  3. Port order matters: open your serial terminal (e.g. CuteCom, 57600 baud, /dev/ttyACM0) before opening QGC, or QGC seizes the port.
  4. In QGC set: SERIAL1_BAUD 57, SERIAL1_OPTIONS 1024 (stops MAVLink on the port), SERIAL_PASSTIMO -1 (bridge stays open), then SERIAL_PASS2 1. Wait ~30 s.
  5. In the terminal, set line ending None, send +++ → the radio answers OK (AT mode). Then set line ending CR/LF for all further commands.
  6. Configure (cheat sheet below), AT&W to save, ATZ to reboot.
  7. Re-flash the RFD PX4 firmware + parameter file and run the acceptance check.

Diagnostics:

Command Function
ATI Firmware version
ATI5 Print all parameters (S-registers)
ATI7 Signal-strength (RSSI) statistics

Configuration (ATS<register>=<value>):

Command Function Notes
ATS1=57 Serial baud (57600) Must match the autopilot’s telemetry-port baud
ATS2=64 Air data rate Lower = more range, less throughput
ATS3=<0–499> NetID Both radios must match
ATS4=<1–30> Transmit power (dBm) 30 = 1 W maximum
ATS6=1 MAVLink framing Standard MAVLink
ATS8 / ATS9 Band min/max frequency (kHz) Per your country’s regulations — in Australia, the 915–928 MHz class licence

Saving:

Command Function
AT&W Write to EEPROM — without this, changes are lost on reboot
ATZ Reboot the radio
ATO Exit AT mode, resume data
  • Radio dead / no lights: airborne radio needs the flight battery (servo-rail powered), not USB.
  • +++ gets no OK: line ending must be None for +++; MAVLink may still be streaming (check SERIAL1_OPTIONS 1024); wait the full 30 s after enabling passthrough.
  • Endless green flashing, never solid: the two radios don’t match — NetID, air rate, band, or encryption mismatch. An encrypted radio will never link to an unencrypted one.
  • Terminal prints endless # garbage: MAVLink is still on the port — passthrough isn’t active.

Refer to the RFDesign RFD900x/ux manuals for the full register reference.