Reverse engineering a Futaba SBUS remote control

In the world of model aircraft, Futaba’s SBUS system is a big deal. Instead of having one servo per channel, the SBUS system allows for 16 proportional controls and two digital channels for each receiver. Basically, if you’re building an awesome plane with retracts on the landing gear and bomb bay doors, this is what you want to use. [Michael] wanted to use a few SBUS servos for a project he’s working on, so of course he had to reverse engineer this proprietary protocol.

Each SBUS servo operates over a single 100kbps serial connection with a few interesting twists: the signal is transmitted as big endian, but the individual bytes are little endian, something [Michael] figured out after stumbling across this month old mbed post. [Michael] used a serial library written by [fat16lib] and was able to change the parity and stop bits along with a simple hex inverter. Everything worked perfectly when the servo was connected to a an Arduino Mini.

Even though the SBUS system requires special Futaba servos, we can easily see how useful [Michael]’s work would be to outrageously complex robots or cnc machines. Check out the video after the break for a quick demo of [Michael]’s breadboard controlling one of these SBUS servos.

[Read more…]