MultiWii (2.4): The standard code for Flight Controller

Disclaimer This is NOT the official code explanation page. Please refer to MultiWii website and MultiWii wiki for any official reference. This webpage is developed to help my engineering students, who ask me to explain the code in a diluted manner. This tutorial is intended for those who want to dig deep into the MW code and need a beginners guide. If you just want to fly a multirotor, you dont need to study this tutorial. Again, this tutorial is intended for students interested in computer programming.

S No. File Name Explaination/ Purpose
  MultiWii.ino Opens the MultiWii project in Arduino IDE
  config.h Usually this the file only file which non-programmers edit. Those who only want to fly a multi-rotor and NOT intrested in programming.
This file consists of several sections:
  1. BASIC SETUP - User must select an option in every block. this assumes user has 4 channels connected to Flight Controller Board with standard ESCs and servos. To create a working combination the user must at least make a few choices in this section.
  2. COPTER TYPE SPECIFIC OPTIONS - User likely want to check for options for copter type
  4. ALTERNATE CPUs & BOARDS - if any
  5. ALTERNATE SETUP - select alternate RX (SBUS, PPM, etc.), alternate ESC-range, etc.
  6. OPTIONAL FEATURES - enable nice to have features (FlightModes, LCD, telemetry, battery monitor etc.)
  7. TUNING & DEVELOPER - Advanced (ESCs calibration, Dynamic Motor/Prop Balancing, Diagnostics, Memory savings)
  8. DEPRECATED - these features will be removed in some future release
  MultiWii.h, MultiWii.cpp
  Sensors.h, Sensors.cpp
  Output.h, Output.cpp
  Protocol.h, Protocol.cpp
  RX.h, RX.cpp
  Alarms.h, Alarms.cpp
  GPS.h, GPS.cpp
  IMU.h, IMU.cpp
  LCD.h, LCD.cpp
  Serial.h, Serial.cpp
  CREDITS.txt A partial credits-file of people that have contributed to the MultiWii project. It is incomplete.
File Format:
N: name
E: email
W: web-address
D: description
S: short description