- Notifications
You must be signed in to change notification settings - Fork40
An Arduino Library for communicating with ExpressLRS and TBS Crossfire receivers.
License
ZZ-Cat/CRSFforArduino
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Cassandra "ZZ Cat" Robinson
Note
CRSF for Arduino is now distributed under theGNU Affero General Public License v3.Please take the time to familiarise yourself with the terms of this licensebefore you use this library in your projects.
CRSF for Arduino brings the Crossfire Protocol to the Arduino ecosystem.
This library enables you to connect either a TBS Crossfire or ExpressLRS receiver to your development board,giving you access to telemetry and up to 16 11-bit proportional RC channels over a tried-and-true serial protocol.
The Crossfire Protocol (better known as CRSF) is used by both Team BlackSheep (in their Crossfire and Tracer receivers) andExpressLRS. The latter of the two are well-known in the FPV drone community for their ultra low latency and long range controllink.
By pairing CRSF for Arduino with an ExpressLRS transmitter and receiver, you have a control link between your RC handset and your development project that is robust in tough RF environments.
CRSF for Arduino's documentation is now live.
Feel free to peruse theWiki at your leisure.
For new users, it isstrongly recommended that you read the documentation in its entirety.
CRSF for Arduino comes packaged with these features:
- 16 11-bit proportional RC channels.
- Diverse modern hardware support from the following architectures:
- ESP32, RP2040, SAMD21, SAMD5x, SAME5x, STM32, and Teensy 4.x.
- Flight Modes, both custom and standard.
- Standard Flight Modes are based on the Flight Modes from Betaflight 4.3.
- Custom Flight Modes use text-based strings that you can assign custom names to for your bespoke purposes.
- Both Standard and Custom Flight Modes can be sent as Telemetry back to your controller.
- Event-driven API.
- Fully configurable.
- CRSF for Arduino can be tailored to suit the needs of your individual projects.
- Telemetry.
- Attitude.
- Barometric Altitude.
- Battery.
- Flight Modes.
- GPS.
CRSF for Arduino is distributed under a new license: TheGNU Affero GPL v3.
For regular users, this may be a non-issue for you, as you are already REQUIRED by existing licensing terms to make CRSF for Arduino's source code available (you're already doing this by linking back to its GitHub Repository).
With the upcoming Serial Transmitter Interface, this increases CRSF for Arduino's potential usage in the context of network servers. With the former GPL v3, you could use CRSF for Arduino as a dependency in your network host and never make the source code available to clients. Updating CRSF for Arduino's license to the Affero GPL v3 closes that loop hole, because you are REQUIRED to make the source code of CRSF for Arduino available inall of its distributions.
Not a lot has changed across licenses. The same basic four freedoms are upheld: Use, copy, modify, and re-distribute.
The only noteworthy change here you are REQUIRED to make the source code available to clients, if you choose to use CRSF for Arduino as a part of your server-side project. To do this, simply link back to this repository via its URL in addition to the terms outlined in the license.
I give credit where credit is due. Because CRSF for Arduino isn't entirely my own idea, but built on the shoulders of giants. Here is a list of credits to those what helped to make this possible:
- Inspiration for this library
- ExpressLRS
- Team BlackSheep FPV - The folks behind the CRSF protocol that both ExpressLRS and CRSF for Arduino uses.
- References for CRSF for Arduino
- BetaFlight
- CRSF-WG
- This is the official repository for The CRSF Protocol, which CRSF for Arduino is based on.
- RotorFlight
- Third Party libraries
If you would like to contribute to the development to CRSF for Arduino, here is what you can do:
- Read mycode of conduct andcontribution guidelines;
- Fork CRSF for Arduino;
- Make your contribution to the codebase;
- Submit your changes in your fork as a Pull Request back to CRSF for Arduino.
Your contributions are very welcome, and if it benefits the project and community, it will be merged into the Main-Trunk.
About
An Arduino Library for communicating with ExpressLRS and TBS Crossfire receivers.
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.