-
Notifications
You must be signed in to change notification settings - Fork 52
What is CRSF for Arduino
CRSF for Arduino is a C++ library that is focused on bringing The Crossfire Protocol to the Arduino ecosystem of compatible development boards.
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.
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.