During the summer of 2019, I worked on a project to build my custom nano-quadrotor with a custom controller, modular software and a custom-designed PCB and frame. This project was inspired by a need to develop a cost-effective, modular robot, allowing me to have complete control over the hardware and software. This culminated in designing full hardware and a software combination for a nano drone.
We decided to have an Arduino Nano microcontroller to control the robot, an NRF24L01 module to communicate with the hardware using a handheld remote controller and also from a computer system. Micro Coreless motors are used as primary actuators, controller by a MOSFET device. Using this allows you to separate the power supply to the microcontroller and the actuators of the robots. An MPU 6050 sensor, with DMP6 algorithm, is used to estimate the orientation of the robot. Using this an the feedback, I designed a PID control loop for the control of the orientation of the robot. The PID control algorithm is a standard and proven method for basic control of a quadrotor. Also, it is computationally inexpensive and allows us to perform computations on a resource-constrained microcontroller board.
In the initial iteration, the PCB was designed in a manner to also act as a mechanical frame of the robot. The entire robot was a single piece robot with electronics fixed to the mechanical frame. This system was not as modular as desired since accidents do happen and changing the circuitry in case of mechanical damage is not possible. The PCB frame is also much heavier as it occupied unnecessary space for mechanical rigidity. Hence, in the second iteration, a tiny PCB was designed, on which the electronics were made as compact as possible, and the mechanical frame was 3D printed to be extremely flexible and lightweight.
In the second iteration, the microcontroller board was changed to Teensy 3.2/4.0 for having a large increase in processing power. Work is currently being done to also explore the possibility of an onboard camera and an improvement in the communication system.
This project is ongoing and you can follow it at the following link:-