### Install Native Platform Source: https://www.expresslrs.org/software/testing/unit-testing Command to install the native platform required for running tests. ```bash pio platform install native ``` -------------------------------- ### Install PlatformIO and dependencies Source: https://www.expresslrs.org/software/toolchain-install Install the required build tools and specific versions of Python packages. ```bash pip install platformio dronecan setuptools empy==3.3.4 pexpect ``` -------------------------------- ### Install OpenOCD on Debian/Ubuntu Source: https://www.expresslrs.org/software/open-ocd Use this command to install OpenOCD from your distribution's repository. Ensure you have the necessary permissions. ```bash sudo apt-get install openocd ``` -------------------------------- ### Connect TX to Telemetry Viewer (ArduPilot Example) Source: https://www.expresslrs.org/software/airport Instructions for connecting the TX module to a telemetry viewing program like Mission Planner or QGC, using ArduPilot as an example. ```text Connect the TX to a computer via USB, open the program that you intend to view the telemetry in, then connect to the COM port for your TX module at the baud you entered above. For example, if using AirPort for MAVLink in ArduPilot, you would open Mission Planner / QGC etc. and select the TX COM port, enter the baud, then click Connect. ``` -------------------------------- ### Setup Python virtual environment Source: https://www.expresslrs.org/software/toolchain-install Create and activate a local virtual environment to isolate project dependencies. ```bash python -m venv .venv source .venv/bin/activate ``` -------------------------------- ### Install virtual-env Source: https://www.expresslrs.org/software/toolchain-install Ensure the virtual environment package is available for Python. ```bash pip install virtual-env ``` -------------------------------- ### Configure FC UART for AirPort (ArduPilot Example) Source: https://www.expresslrs.org/software/airport Example configuration for an FC UART using ArduPilot's Configurator tool for MAVLink telemetry over AirPort. ```text Using the appropriate Configurator tool for your FC firmware, configure your selected UART with your desired telemetry protocol. For example, if using AirPort for MAVLink in ArduPilot, you would set: * `SERIALN_BAUD` to the baud you entered in the section above, * `SERIALN_OPTIONS` to `0`, * `SERIALN_PROTOCOL` to `1` or `2` (for MAVLink v1 or MAVLink v2). ``` -------------------------------- ### Flash firmware to device Source: https://www.expresslrs.org/software/toolchain-install Build and upload the firmware to a specific port. ```bash pio run --target upload --environment Unified_ESP32_900_RX_via_BetaflightPassthrough --upload-port /dev/ttyUSB0 ``` -------------------------------- ### ArduPilot Serial Setup with 420K Baud Source: https://www.expresslrs.org/quick-start/ardupilot-setup Configure ArduPilot serial port for ExpressLRS, enabling the 420K baud rate and setting RCIN protocol. This is an alternative setup if the default fails. ```ini SERIALx_PROTOCOL = 23 (RCIN) SERIALx_BAUD = 115 RSSI_TYPE = 3 (ReceiverProtocol) ```