Ramble...
These protocols are used typically to communicate between a radio reciever and flight controller, or any other kind of controller in a flying drone, robot, or something else.
I'm considering here, ibus, sbus and PPM
FUTABA S-BUS
------------
This is the protocol used by Futaba receivers, servos, and some other things. It's a serial
1-wire protocol and uses an unusual bit rate of 100kbaud.
Some details are here:
https://os.mbed.com/users/Digixx/notebook/futaba-s-bus-controlled-by-mbed/
https://github.com/uzh-rpg/rpg_quadrotor_control/wiki/SBUS-Protocol
The S-bus signal is "upside down" - normally low, and uses low=0, high=1.
S-bus also requires some "bit twiddling" because it uses 10 bits per channel and splits them between several bytes.
Pros: Many digital receivers support it.
Cons: A pain in the arse to decode, difficult to simulate, USB serial dongles usually can't decode it.
TURNIGY / HOBBYKING / FLYSKY - I-BUS
Ibus uses a bit rate of 115,200 baud, which is a "standard" speed. I-bus is "the usual orientation", normally high, low=1, high=0 (this is consistent with most other serial protocols)
Ibus uses simply 2 bytes per channel and outputs the number of microseconds wide that a pulse would be if the channel was transmitted as a servo pulse (1000 - 2000 with 1500 as the centre).
Pros: Much simpler than S-Bus to decode, can decode with a USB-Serial dongle easily.
Cons: Only Flysky (like) receivers support it.