Drone Remote Controller

A custom-designed wireless remote controller with proprietary firmware for drone operation and other hobby projects.

ESP32 PCB Design Firmware Wireless Communication
Drone Remote Controller

Project Overview

Complete design and implementation of a custom drone remote controller

Wireless Remote Control Solution

This project involved designing and building a fully functional wireless remote controller specifically for drone operation. The controller features dual joysticks for precise control, onboard Bluetooth and WiFi capabilities, 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

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.

Joystick Module

Analog Joysticks

PS4-style analog high-precision joysticks with two 5K potentiometers for X and Y axis detection.

OLED Display

OLED Display

0.96" monochrome 128x64 dot matrix display with I2C interface for showing remote parameters and status information.

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:

  • Voltage regulation with LD1117V33 regulator and heat sink
  • Reverse battery protection using 1N4007 diode
  • Battery feedback circuit with voltage divider for monitoring
  • Status LEDs for connection and battery status indication
  • Safety arming switch with 330Ω protection resistor

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 precise drone control

Firmware Architecture

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

  • ESP-NOW for efficient wireless communication
  • Adafruit SSD1306 for OLED display control
  • Custom calibration routines for joystick accuracy
  • EEPROM for storing calibration data

The firmware includes advanced features such as joystick 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);
}