Getting Started

Hardware Requirements

TX Side (Radio Transmitter Module)

  • Microcontroller: Raspberry Pi Pico (RP2040)
  • Radio: SX1280 radio module with SPI interface
  • Wiring:
    • SPI: SCK (GP18), MOSI (GP19), MISO (GP16), CS (GP17)
    • Control: BUSY (GP20), DIO1 (GP21), RST (GP22)
    • UART: TX (GP8), RX (GP9) to RC Board

RX Side (Flight Controller Receiver)

  • Microcontroller: Raspberry Pi Pico W (RP2040 with WiFi - for future features)
  • Radio: SX1280 radio module (same wiring as TX)
  • Output: CRSF protocol (TX → GP8, RX → GP9)

RC Board (Input Controller)

  • Microcontroller: Raspberry Pi Pico
  • Display: SH1106G OLED display (128x64, I2C)
  • ADC: ADS1115 16-bit ADC module (I2C)
  • Inputs: 2x 2-axis analog joysticks, 4x toggle switches, 2x navigation buttons

Software Setup

  1. Install PlatformIO: The project uses PlatformIO for building and uploading firmware.
  2. Clone the Repository: Clone the XLRS firmware repository.
  3. Build and Upload:
    • TX Module: pio run -e tx_sx128x -t upload
    • RX Module: pio run -e rx_sx128x -t upload
    • RC Board: pio run -e rc-crsf -t upload

Note: The TX module expects to receive channel data from the RC board via UART protocol. Make sure the RC board is running and connected before the TX module will transmit.