Flight Controller PCB

A custom-designed wireless Flight controller PCB with proprietary Firmware.

ESP32 ESP-NOW Plug & Play Design Simplicity
Drone Flight Controller PCB

Project Overview

Complete design and implementation of a custom drone remote controller

Research and Development of Drone flight Controller PCB

This project involved designing and building a fully functional wireless Flight controller specifically for drone operation. The controller features plug and play design for easy swaping of components, ESP-NOW protocol for communication between drone and controller, and a custom PCB designed for reliability and performance.

The remote was developed as part of the MS101 Makerspace initiative, showcasing expertise in electronics design, firmware development, and mechanical integration.

Wireless Connectivity

ESP32-based with both Bluetooth and WiFi capabilities

Custom PCB Design

Professional-grade PCB with power management and protection

Proprietary Firmware

Custom firmware for precise control and calibration

Remote Design

Hardware Components

Key electronic components used in the remote controller

ESP32 Module

ESP32 Microcontroller

Low-cost, low-power system on chip with integrated Wi-Fi and dual-mode Bluetooth. Features a dual-core microprocessor.

Arduino Nano

Arduino Nano

Low-cost, compact microcontroller board based on the ATmega328P. Using as flight controller.

Voltage Divider

Voltage Divider

Voltage divider circuit for scaling down battery voltage for microcontroller ADC input with Reverse polarity protection.

Voltage Regulator

LD1117 Voltage Regulator

3.3V voltage regulator with heat sink for stable power delivery to all components. Provides up to 800mA output current.

PCB Design & Features

Professional PCB design with protection and management systems

PCB Design

Circuit Design Highlights

The custom PCB includes several important features for reliability and safety:

  • Calculates thickness of track.
  • Reverse battery protection for main logic section.
  • Battery feedback circuit with voltage divider for monitoring.
  • Easy plug and play design.
  • EMF shilding, to prevent form EMF.

The board was designed using EasyEDA and features professional-grade layout with proper grounding, power distribution, and signal integrity considerations.

Software & Firmware

Custom firmware development for drone control

Firmware Architecture

The flight controller runs custom firmware developed in Arduino IDE with several key libraries:

  • ESP-NOW for efficient wireless communication
  • Arduino library for controlling MPU6050 module.
  • Wire library allows you to communicate with I2C devices.
  • EEPROM for storing calibration data

The firmware includes calibration, battery monitoring, and failsafe mechanisms for safe operation.

#include 
#include 
#include 
#include 

// Joystick calibration structure
struct CalibrationData {
  int xMin, xMax, yMin, yMax;
  int centerX, centerY;
};

void setup() {
  // Initialize components
  initDisplay();
  initJoysticks();
  initWireless();
  
  // Check for calibration data
  if (!isCalibrated()) {
    runCalibrationSequence();
  }
  
  // Start main operation
  startMainLoop();
}

void loop() {
  readJoysticks();
  updateDisplay();
  sendControlData();
  checkBattery();
  delay(10);
}