Skip to content
This repository was archived by the owner on May 4, 2026. It is now read-only.

What is CRSF for Arduino

Cassandra "ZZ Cat" Robinson edited this page Nov 30, 2025 · 3 revisions

CRSF for Arduino is a C++ library that is focused on bringing The Crossfire Protocol to the Arduino ecosystem of compatible development boards.

CRSF - AKA The Crossfire Protocol

The Crossfire Protocol (henceforth abbreviated to "CRSF") itself is a universal RC protocol that consists of communication between a controller (commonly referred to as a "handset" and incorrectly referred to as a "transmitter" or "radio") and the transmitter module, communication between the transmitter module and the receiver, and communication between the receiver and a flight controller.

Communication between the controller and transmitter module is facilitated by a high speed UART protocol.
Transmitter and receiver communication is facilitated by either a LoRa or FLRC over-the-air protocol and carrier frequencies are 868 MHz, 915 MHz, and 2.4 GHz, which is used by the likes of ExpressLRS.
Communication between the receiver and flight controller is facilitated by another high speed UART protocol.

Both ExpressLRS and TBS Crossfire use CRSF.

The full specification of CRSF is available on TBS' repository.

Where and how CRSF for Arduino fits into this

Starting with RC Channels and basic telemetry, the Prime Directive of CRSF for Arduino is to implement CRSF v3 in a way that is agnostic to modern Arduino and Arduino-compatible development boards. Thus, bringing CRSF to the Arduino ecosystem.

Clone this wiki locally