Skip to content

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

Notifications You must be signed in to change notification settings

pinkfloydfan/iBUSEncoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages