Skip to content

16. System Integration

Mini Drone System Overview

This week focuses on integrating the main subsystems of the mini drone, including motor control, the flight controller board, frame fabrication, and system programming. The goal is to create a lightweight, low-cost, educational drone that can be fully fabricated inside the FabLab.


1. Electronics Integration

1.1 Motor & Driver Testing (First Step)

To validate the propulsion system, a single coreless motor was tested using:

Component Description
Motor 6×15mm coreless (~3.7V, ~70,000 RPM)
Motor Driver MX1508 Dual H-Bridge
MCU (Test) XIAO RP2040 (3.3V logic)
Battery 3.7V 1800mAh Li-Po

Wiring Overview

Battery + ----> MX1508 VCC
Battery GND --> MX1508 GND + XIAO GND

XIAO D6 (PWM) -> MX1508 IN1
XIAO D7 (PWM) -> MX1508 IN2

MX1508 OUT1 -> Motor +
MX1508 OUT2 -> Motor -

Compatibility Summary

Feature Status ✅ / ⚠️ Notes
MX1508 input voltage 2V–10V, OK with 3.7V LiPo
Motor voltage Suitable for 3.7V
Logic level (PWM from RP2040) MX1508 works with 3.3V signals
Motor current vs MX1508 ⚠️ Ensure draw < 1.5A per channel (typical OK)

Test Code (Arduino)

int motorPin1 = 6;
int motorPin2 = 7;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
}

void loop() {
  analogWrite(motorPin1, 150);  // Speed (0–255)
  analogWrite(motorPin2, 0);
  delay(2000);

  analogWrite(motorPin1, 0);
  analogWrite(motorPin2, 0);
  delay(1000);

  analogWrite(motorPin1, 0);
  analogWrite(motorPin2, 150);
  delay(2000);
}

Battery Notes

  • Battery: 3.7V 1800mAh LiPo
  • Typical C-rating: ~20C (estimate)
  • Max Current Output:
    [ 1.8A × 20C = 36A peak (enough for multiple motors) ]
  • Protect battery: Don’t discharge below 3.3V

Optional: - Add a voltage divider for monitoring battery level via XIAO - Or use a LiPo buzzer for low voltage alarm

This test confirmed that the motor driver, power system, and PWM control work properly before integrating the flight controller.


1.2 Flight Controller Board

For the final drone, the XIAO ESP32-S3 replaced the RP2040 and is mounted on a custom PCB designed in Altium Designer.

the pictures and video below shows the whole process:

Connections

  • Motor drivers → PWM pins (ESP32-S3)
  • MPU6050 → I2C (SCL + SDA)
  • Battery → Motor drivers (not directly to ESP32-S3)

2. Frame Design & 3D Printing

2.1 Shape Selection

Different frame configurations were compared: X, +, H, V.

Shape Notes
X ✔ Best stability and control
+ Less stable
H Wider footprint
V Less common

Final Choice: X-shaped frame for stability and balanced thrust distribution.

2.2 Weight

here i weighted each component

Issue

The above design wasn’t the first one I made actually I design the frame couple of times due to printing issue and infell I tried to make the frame as mush small as possible with less infill to make the drone weight’s no more than 35g so it could fly properly with the installed motors

Final result

I make the infill for 15% as well as minimize the drone size and got the base frame weight 5g and the cover also 5g

2.3 Shank & Hanger Design


2.2 Material Selection

Filament Strength Weight Impact Resistance Print Difficulty Suitable?
PLA Medium Light Low Easy ✔ Chosen
ABS High Medium High Hard ✔ but not practical
TPU Low Medium Very High Hard ❌ Too flexible

→ Target frame weight: ~30g (max <50g)
Multiple iterations were tested to reduce weight.


3. Laser-Cut Frame

  • Material: 5mm MDF
  • Settings (Based on Week 3 testing):
  • Cut: Power 55%, Speed 0.27, Frequency 1000Hz
  • Engrave: Power 40%, Speed 50, Frequency 500Hz

Frame was laser-cut and assembled to align with component layout.


4. Programming & Control System

Motor Control

Each motor is driven independently using MX1508 drivers with PWM signals from the ESP32-S3 to control:

  • Roll
  • Pitch
  • Yaw

Key checks:

  • Verify motor direction
  • Balance center of gravity
  • Ensure symmetric thrust

5. What Makes This Drone Unique?

This drone is:

  • Fully fabricated in the FabLab
  • Low-cost and open-source
  • Suitable as an educational kit to teach electronics, fabrication, and control systems

Unlike commercial mini-drones, it is designed for hands-on learning.


6. Files

Type Format
CAD Models drone Cover.stl, drone.stl, drone assembly.stl, hanger.stl, shank.stl
Laser Cut File Drone box.dxf
PCB Design Traces.png, Outline.png, Altium.zip
code Arduino 4motor.ino, full code.ino