Skip to content

drone-flight-controller (Arduino Uno)

  • Software
  • Drones and boats
  • Firmware

An Arduino Uno sketch that acts as a flight controller for an X-configuration quadcopter, using a PID loop at 250Hz fed by an MPU6050 motion sensor.

Source on GitHub: github.com/lobodol/drone-flight-controller (opens in a new tab). Facts read at commit 00af3e9 (opens in a new tab).

Licenses

Code
MIT (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (MIT) at commit 00af3e9 (opens in a new tab), on 22 Oct 2026.

Commercial use
Yes

What it does

  • Runs a digital PID control loop at a 250Hz refresh rate to stabilise roll, pitch and yaw.
  • Reads orientation from an MPU6050 sensor and drives four motors from RF receiver channel inputs.
  • PID coefficients are set in the global variable section and can be tuned, with defaults for an F450-style frame.
  • Remote channel mapping can be changed in the configureChannelMapping function; mode 2 is the default.
  • Includes a start/stop safety sequence using the left stick of the remote.
  • Pure utility functions are extracted to src/utils.h and covered by host-side unit tests using PlatformIO and Unity.

Written by Robotheca from the project's README (opens in a new tab) at commit 00af3e9.

Getting started

Difficulty
Beginner

Maintenance

Status
Maintained: a commit in the last 12 months
Newest commit
1 Mar 2026 on main
Latest release
None published on GitHub

Checked on GitHub on 22 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.