A quadcopter

QuadX

A quadcopter flight controller with autoleveling features.


Contributors

Nelson

Skills

C++

Published

26th Dec, 2021

Important Links

Github

This project describes my experience building a quadcopter (as desired by my dad). Many thanks to drone enthusiasts and the enriched forums online. And special thanks to the wonderful and comprehensive tutorial on multi-copter systems by Joop Brooking. I'd describe my experience as one that begins with confusion and a deep dive into frustration but ends with a smile (just when the quadcopter begins to hover).

Parts and Assembly

Here is a list of everything I bought and more (as a result of applying 9v to where 5V was indicated).

Important Concepts, Schematics

  • PWM: Joop did an amazing job in teaching how PWM works and how interrupts can be used to read the signals of the transmitter effectively. Using the Arduino, I was able to apply Pin Change Interrupt using PCINT registers alongside others. Be careful, polling is a haughty technique.
  • PID: This was literally the hardest thing for me to grasp. I mean, I understood what each term meant, and how they help to reduce the error in the control system of the quadcopter. I didn't just get how their sum would reduce the error over time. Amazingly, after rewatching and scraping the web, I can finally say, it's easy as pizza. I just love the effect of the integral controller.
  • IMU (Inertial Measurement Unit): How can something be small, but annoyingly tough to use? With Paul Mcwhorter's explanations, I understood, built, and tuned a complimentary filter for the fusion of the gyro data (suitable for short variations because of drift) and the accelerometer data (suitable for longer variations because of vibrations) to stabilize the quadcopter.

Challenges

  • I wish I had a more solid background before engaging in the project. Although it was exciting, it was a lot of work and time. I did build this drone around April 2018 but to no avail. But in December 2021, I tried my hand at it and had a grand success.

Next Steps

  • I hope to apply my skills, and experience and learn more to be able to dive into building autonomous systems be it aerial or ground vehicles. Feel free to contact me with any questions or comments you may have!

Gallery

Veroboard containing the Flight Controller

Veroboard containing the Flight Controller

Integration of Flight Controller

Integration of the Flight Controller with other Peripherals

Flight TakeOff

Flight Takeoff


Acknowledgements:

Paul McWhorter, Joop Brokking

References:

  • Nil