I'm a 2nd year Electronic Engineering student, who's always wanted to embark on a project that's way too much work. So I decided to build the coolest quadcopter the world has ever seen!

At the heart of the quadcopter there's an Arduino 101. This takes input from my home made remote control transmitter, reads the IMU sensor data, does all the PID loop calculations and then sets the motor speeds correspondingly. I'm using 12A ESC's with DYS 2300kv brushless motors, which provide around 1.5kg of thrust altogether. Given that the quad only weights around 500g, there's no risk of it not getting off the ground! The drone is powered with a 2200mAh battery, which provides around 20 mins of flight time.

Flight is mostly stable at the moment. The drone just needs a bit of extra fine tuning before its fully stabilised. Yaw, pitch and roll all operate correctly, as you can see in the demo video.

There were so many challenges with this project, all ranging from ESC's failing at the last minute, to having to cut out my own acrylic plate for the Arduino to sit on. I also ended up having eye surgery halfway through the build, and had to take a week out to recover. From that, I also ended up with double vision afterwards, so it's a wonder anything got built at all!!

I'm going to continue to develop this project. The first step is to finalise the tuning, to achieve stable flight. Then my goal is to continue to add stuff until it no longer flies! I'm gong to add an ultrasonic sensor for altitude detection, and implement autonomous take-off/landing sequences. I also want to add a wifi module, so that the flight data can be saved onto a server for the pilot/interested parties to access. And maybe a Nerf gun...

I had a lot of fun making this, so thanks for checking it out!

Based on/using the following libraries:

Accelerometer/Gyro - https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050

Wireless transmitters - https://github.com/nRF24/RF24

Arduino PID library - https://github.com/br3ttb/Arduino-PID-Library/blob/master/PID_v1.cpp

Built With

Share this project: