This project is being coordinated by the Aeromodelling Club, Indian Institute of Technology Ropar. The aim of this project is to design and build an RC plane from scratch. This documentation might not be up-to-date with the code for some time till the project has been successfully completed.
For this project, we are using the ESP32 Dev board as our flight controller. We implemented I2C communication for obtaining accelerometer data from the MPU6050 Module. This data was used to turn the servos for ailerons and elevators appropriately in order to correct the pitch and roll caused by external factors. The servos also employ a PID controller to regulate these values.
This project is based on our submission for a competition organized by the Aeromodelling Club, Indian Institute of Technology Ropar from December 2023 to January 2024. The submission has been preserved in another branch of its own. To view the submission code and documentation, check out the submission branch.
The root folder of the project consists of the following files:
.vscode/arduino.json: Configuration for the Arduino extension on VS Code.docs: Referenceslib:Gyrosensor.h: Abstraction layer for using the MPU6050 Accelerometer/Gyroscope module.Kalman.h: The kalman filter.PID.h: Custom implementation of PID Controller.
model:Model.blend: Blender model for the skeletal structure of our RC Plane design.Model.png: A rendered image of the design.
.gitignore: A list of files to exclude from git. These are just VS Code configuration files.TODO.md: The task planning and distribution.Udan-Khatola.ino: The main code for running on the ESP32 board.
The code is very intuitive and well commented so that it is easy to understand. Here's a summary of the code and workflow:
The code uses mostly the standard arduino library for all its tasks, but a few features could be better implemented using libraries available on arduino's library manager.
- The communication with the MPU6050 module has been established through the inbuilt
Wire.hlibrary. - Servo motors are controlled using the
ESP32Servo.hlibrary byJohn K. Bennett, Kevin Harrington.
The team consisted of first year undergraduate students at Indian Institute of Technology Ropar:
- Nalin Angrish (Nalin-Angrish)
- Abhigyan Singh (Abhigyann-Singh)
- Aman Mittal (SikandarAman)
- Arjun Maindarkar (programmingmaster69)
- Ponnathavan S (Ponnathavan)
- Kshitij Kumar (Kshitijsqdn303)
- Pradhyuman (Pradhyu18)
- Sarthak Gupta (sarthakGIT0305)
And a previous contributor:
- Somya Katoch (somyakatoch)


