How to Write your own Flight Controller Software — Part 8

A light weight Arduino implementation of the MultiWii Serial Protocol

David Such
13 min readApr 30, 2022

ReefwingMSP is a light weight Arduino implementation of the MultiWii Serial Protocol. It is available for download via the Arduino IDE Library Manager and the source code may be found on our GitHub Repository.

Let’s talk about serial communication for our drone. This is required for easy configuration, simulation, telemetry, black box recording and On Screen Display (OSD) for First Person View (FPV) goggles. You may not need all this functionality but it makes sense to design for the future.

Figure 1. The Reefwing Configurator (SBUS Tab)

The Reefwing Serial Protocol (NSP)

Initially we wrote our own serial protocol for communicating with the Reefwing Configurator (Figure 1). This allowed us to calibrate the IMU and ESC’s, tune the PID control loops and visualise the flight controller data.

Figure 2. Reefwing Serial Protocol

The Reefwing Serial Protocol (Figure 2) consisted of a single character header (start byte), ‘<’, a single character for the command, request and response, followed by the data separated by ‘/’. The end…

--

--

David Such

Reefwing Software · Embedded Systems Engineer · iOS & AI Development · Robotics · Drones · Arduino · Raspberry Pi · Flight Control