Portfolio – Cinewhoop 2.5″ fpv drone

Project intro
This is the first Arduino-based drone I have ever built, and it has been a challenging yet rewarding experience. Throughout the process, I had to learn many new concepts. For development, I started with existing code (sources listed below) and modified it to suit my specific setup.
The drone features two flight modes:
1. Acro Mode (Speed-Controlled) – In this mode, the drone’s rotational speed is controlled using the gyroscope. It measures velocity along the three axes, and by comparing this data with the RC controller inputs, I adjust the motor power to achieve the desired rotational speed.
2. Angle Mode (Angle-Controlled) – This mode uses both the gyroscope and accelerometer to determine the drone’s tilt through sensor fusion. The system then adjusts motor power accordingly to maintain the desired orientation.
Key Concepts
To develop the technology behind this drone, here are some key concepts and useful tools that helped me out:
How Gyroscopes and Accelerometers Work – Understanding how these sensors measure motion and orientation is essential for drone stability. Link to a great video in the sources section below.
The Importance of Sensor Fusion – Combining data from multiple sensors (gin this case gyroscope and accelerometer) enhances flight accuracy, making features like angle control possible. Sensor fusion ensures more precise control and stability. In here I use a simple complementary filter.
PID Control Loop – The Core of Flight Stability – The Proportional-Integral-Derivative (PID) control loop is at the heart of how the drone maintains stability and responds to commands. It continuously adjusts motor power based on sensor feedback to correct errors in:
- Angular velocity (Acro Mode) – Ensures smooth and precise rotations.
- Tilt angle (Angle Mode) – Helps keep the drone level.
BLHeli Configurator for ESC Tuning – Fine-tuning ESCs through BLHeli Configurator allows for smoother motor response and improved flight performance. Adjusting settings such as motor timing and throttle calibration can significantly enhance drone handling.
Components
Cinewhoop 2.5” frame
MPU6050 with gyro and accelerometer
Arduino Nano Board as flight controller
1 PDB for power distribution
4 ESCs with Blheli-S
Camera and VTX
4 Brushless Motors


Sources:
The original code can be found on GitHub.
The modified code can be downloaded here.
For a summary pdf where I highlighted the major modification I made to the code and some challenges I faced click here.
For the electronic circuit schematics click here.
For the 3d printed parts click here.
For two great videos on how accelerometer and gyroscope work click here.