Skip to the content
2 layers40 × 66 mmFlight controller, the printed circuit board in 3D

Flight controller

1ars-d/ESP32-Drone2

A compact, custom-built 5.5″ quadcopter drone powered by an ESP32 microcontroller.

Size
40 × 66 mm
Copper layers
2
Thickness
1.6 mm
Parts
9
Nets
44
Pads
76
Tracks, vias
113, 8
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Apr 2025
Updated
23 May 2025

Overview

Flight controller is an open-source printed circuit board by 1ars-d, from the 1ars-d/ESP32-Drone repository on GitHub. It is a 2-layer board of 40 × 66 mm with 9 parts on 44 nets, routed with 113 tracks and 8 vias.

It is built around the ESP32-DEVKITC-VE. Its parts include 2 ICs and 2 connectors. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

1

README

README.md

ESP32 Custom Drone

🚁 Overview

A compact, custom-built 5.5″ quadcopter drone powered by an ESP32 microcontroller. This project includes both hardware design (3D-printed components, PCB layout) and firmware (Arduino-based) for flight control.

Drone with battery

🔧 Firmware

The flight control software is written in C++ using the Arduino framework. It runs a 250Hz control loop to maintain drone stability using the following key features:

  • Sensor Fusion: A Kalman Filter fuses gyroscope and accelerometer data to estimate orientation.
  • Control System: Stabilization is achieved using a cascaded PID control loop.
  • Remote Input: Directional control is handled via a radio receiver.
  • Live PID Tuning: The drone can host a local Wi-Fi web interface for real-time PID tuning.

    The web-based tuning interface was adapted from pratikPhadte/ESP32-Flight-controller-.

PID Web Page

🛠️ Hardware Components

ComponentDescriptionPrice
FrameFlyFishRC FIFTY5€50.00
Radio ReceiverFlysky FS-IA6B€20.00
Flight ControllerESP32-DevKitC, MP1584 (Buck Converter), MPU6050 (IMU), PCB€20.00
Motors4x FlyfishRC Flash 2306 1750Kv€60.00
ESC30.5mm 4-in-1 40A BLHeli32€50.00
Battery3S 1500mAh LiPo€20.00
Propellers4x 5.5″ Props€2.50
3D Printed PartsMaterial cost for FC Case, RC Case, Feet€2.00
Total€224,50

Note: The listed prices are approximate and may vary depending on the retailer or manufacturer. In this build, we intentionally used some higher-quality (and more expensive) components to ensure that budget parts wouldn't become a limiting factor in performance. However, with careful sourcing and smart purchasing decisions, the overall cost of this drone can be significantly reduced.


🧠 Flight Controller

The flight controller (FC) is based on an ESP32 DevKitC, mounted on a custom PCB. It integrates:

  • MPU6050 IMU for motion sensing
  • MP1584 buck converter to step down 10V (from ESC) to 5V

Connections are made via JST SH cables to the ESC and radio receiver.

‼️ The VCC wire of the JST SH connector for the radio receiver is connected to the ESP32’s 3.3V output. However, the receiver used in this project (FS-IA6B) requires a minimum operating voltage of 4.0V. To address this, an additional VCC wire was manually soldered to the ESP32’s 5V pin to provide sufficient power. While some 5V receivers may appear to function at 3.3V in test setups, our testing showed that the receiver's output becomes unstable when the motors are running, likely due to temporary voltage drops. For reliable performance, ensure the receiver is properly powered with a stable 5V supply.

Drone with open FC case

🧾 PCB Design

Designed using KiCad and manufactured by JLCPCB.

🔌 Schematic

Schematic

🔄 Routing

Routing

3D Model

PCB 3D PCB 3D no models

🖨️ 3D Printed Parts

All parts were designed in Autodesk Fusion 360 and printed using PLA. M2/M3 threaded heat inserts are used to mount components to the carbon frame.

All 3D Prints

📦 Flight Controller Case

FC Case FC Top FC Bottom FC Bottom Screws ESC

📡 Radio Receiver Case

RC Case RC Case Open

🧩 Miscellaneous Parts

Spacers
Spacers

Feet
Model from Cults3D – FlyFishRC Volador Arm Protection
Foot


👥 Contributors

📚 References & Inspirations

This project was inspired and guided by the following open-source resources:

Parts

9
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4
1Conn_01x04_Socket_JST_ELRSConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ3
1Conn_01x10_Socket_JST_ESCConnector_JST:JST_SH_SM10B-SRSS-TB_1x10-1MP_P1.00mm_HorizontalJ4
1ESP32-DevKitCESP32:ESP32 DevKitC SocketU2
1module_mpu6050usini_sensors:module_mpu6050U1
1~MP1584EN-master:SRT_MPT1584EN_ModuleMP1

Similar boards

  • 2 layers103.8 × 50 mmGalagino pcb set, the printed circuit board in 3D

    Galagino pcb set

    harbaum/galagino

    A Galaga, Pac-Man and Donkey Kong arcade emulator for the ESP32

    26 parts558
  • 2 layers115 × 75 mmSpinCoater, the printed circuit board in 3D

    SpinCoater

    RParkerE/OpenSilicon

    OpenSilicon enables DIY semiconductor fabrication with open-source guides for building IC equipment at home. The project includes BOMs, 3D files, firmware, and PDKs, supporting makers and researchers in chip fabrication.

    11 parts55GPL-3.0
  • 2 layers127.3 × 54.1 mmESP32 SolarBox, the printed circuit board in 3D

    ESP32 SolarBox

    cole8888/SRNE-Solar-Charge-Controller-Monitor

    Read data from SRNE solar charge controllers.

    34 parts42
  • 2 layers62.2 × 57.1 mmWs2mqtt, the printed circuit board in 3D

    Ws2mqtt

    Tho85/ws2mqtt

    Connect WiSafe2 devices to Home Assistant

    8 parts28BSD-3-Clause
  • 2 layers99.9 × 99.9 mmSplit flap, the printed circuit board in 3D

    Split flap

    tinkermax/split-flap

    DIY mechanical spli-flap display

    28 parts13CC-BY-4.0
  • 2 layersJF ECU32, the printed circuit board in 3D

    JF ECU32

    JoachimF/JF-ECU32

    RC Jet Engine ECU

    27 parts12GPL-3.0
  • 2 layers72.5 × 84.8 mmDevboard, the printed circuit board in 3D

    Devboard

    ste2425/PSP-Bluetooth-AVConnector

    An AV-Out Breakout library for the PSP. Providing Kicad symbols and footprints to interface with the PSP 2/3K AVOut socket (also known as the TVOut socket)

    13 parts12
  • 2 layers100 × 88.9 mmGen2, the printed circuit board in 3D

    Gen2

    Alignof/Juggernaut

    疑似時限爆弾解除競技

    41 parts10MIT

Questions

How big is the Flight controller PCB?

It measures 40 × 66 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Flight controller use?

9 parts, built around the ESP32-DEVKITC-VE. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Flight controller KiCad files?

From the 1ars-d/ESP32-Drone repository on GitHub, at the commit this page was made from: the board is PCB/flight_controller/flight_controller.kicad_pcb and its schematic PCB/flight_controller/flight_controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Flight controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask 1ars-d before reusing the design.