How to Write your own Flight Controller Software — Part 8
A light weight Arduino implementation of the MultiWii Serial Protocol
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.
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.
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…