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 |