pinkfloydfan / iBUSEncoder

Super-simple C++ code for encoding a serial FlySky iBUS signal, in order to (for example) interface with Betaflight flight controllers.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

iBUSEncoder

Super-simple C++ code for encoding a serial FlySky iBUS signal, in order to (for example) interface with Betaflight flight controllers.

Background

It's difficult to find coherent documentation for various serial receiver protocols online. Common ways of interfacing with a flight controller include Futaba SBUS, iBUS and PPM. SBUS requires a lot of muckery with inverting UARTs, and PPM may require more advanced microcontroller knowledge and working with interrupts and timers, making it difficult to write code which accepts various microcontroller architectures. Out of all serial protocols, iBUS is perhaps the simplest, yet afaik there isn't yet a library that encodes iBUS signals (however there are plenty that read them).

iBUS protocol overview

See the following material:

iBUS protocol overview

Refer to https://www.propwashed.com/ibus-betaflight-guide/#:~:text=Betaflight%20configuration%20with%20iBUS%20receivers,the%20%E2%80%9CSerial%20Receiver%20Provider%E2%80%9D. Plug whatever pin you're Serial.write-ing into an RX pin of your flight controller, and set up the rest in Betaflight as per the article.

About

Super-simple C++ code for encoding a serial FlySky iBUS signal, in order to (for example) interface with Betaflight flight controllers.


Languages

Language:C++ 100.0%