Usage

Power On Sequence

  1. Power on the RX module first:

    • RX initializes radio and enters pairing mode if not already paired.
    • RX will auto-enter pairing mode after timeout (default: 5 seconds) if unpaired.
    • RX outputs CRSF signals on GP8 once connected and receiving data.
  2. Power on the RC board:

    • RC board initializes display and inputs.
    • RC board begins sending channel data to TX module via UART.
  3. Power on the TX module:

    • TX module initializes radio and UART protocol.
    • If previously paired, TX automatically attempts to connect to paired RX.
    • If not paired, TX enters pairing mode and sends pairing packets.
    • Once connected, TX forwards channel data from RC board to RX over radio.

Connection States

  • DISCONNECTED: No pairing, waiting for pairing.
  • PAIRING: Sending/receiving pairing packets.
  • CONNECTING: Paired, establishing connection via SYNC handshake.
  • CONNECTED: Active link, transmitting channel data.
  • LOST: Connection timeout, attempting to reconnect.

Pairing

The TX and RX use a binding phrase-based pairing system for secure communication. Both devices must be configured with the same binding phrase to pair.

Pairing Process

  1. Configure Binding Phrase (Optional):

    • Default: "FPV_BIND_2024"
    • Custom: Add build flag -DDEFAULT_BINDING_PHRASE=\"YourCustomPhrase\"
  2. Put RX in pairing mode:

    • Hold the BOOTSEL button on the RX Pico for 5 seconds.
    • RX enters pairing mode for 60 seconds (LED indicators may vary).
    • RX will also auto-enter pairing mode after a configurable timeout (default: 5 seconds) if not paired.
  3. Initiate pairing from TX:

    • TX automatically enters pairing mode if not already paired.
    • TX sends pairing packets containing the binding UID.
    • RX validates the binding UID and responds with pairing ACK.
    • Both devices exchange device IDs and generate a shared encryption key.
    • The pairing key and device IDs are stored in EEPROM.
  4. After successful pairing:

    • Devices will automatically reconnect on subsequent power-ups.
    • Connection is established via SYNC/SYNC_ACK handshake.
    • Channel data transmission begins once connected.