Drones are very popular toys and tools these days. You can find professional and even beginner drones and flying gadgets in the market. I have four drones (quadcopters and hexcopters), because I love everything that flies, but the 200th flight isn't so interesting and starts to be boring, so I decided that I will build my own drone with some extra feutures. I like to program Arduino and design circuits and gadgets so I started to build it. I used the MultiWii flight controller that is based on the ATMega328 chip that is also used in the Arduino UNO, so programming was pretty simple. This drone can be connected to an Android smartphone that sends its GPS data to the drone, that compares to its own GPS signal, then starts to follow phone, so if I move on the street the drone follows me. Of course has many failings yet, because I wasn't able to make a proffesional filming drone, but follows the phone, makes a video and also has a ultrasonic distance sensor to avoid the obstacles in the air. I think this is pretty much features from a homemade drone. As soon as possible I will load up a video about a flight, but it is hard to make good quality records with an always moving drone.
The drone is almost fully automatically, you don't have to control it, because follows your phone that is usually in your bike, The ultrasonic sensor helps to bypass trees, buildings and other obstacles and the GPS gives a very accurate position data, but let's see what do we have in total:
So that is all that the first version can do, of course I want to develop it. During the summer I want to hack my bigger drone with this software.
I asked two good friends of me to walk in the front of the drone, while I was under the drone, to save it if falls down. But the test succeeded, and as you can see the drone still is not very stable, but worked. The left guy in a yellow T-shirt held the phone, that transmitted the GPS data. The video quality with this camera is not the best, but I didn't find low weight 1080p cameras.
For this project you need some new and unusual parts. I designed from low wieght and recycled parts to reduce the cost, and succeded I got very good materials for the frame. But let's see what we need! I bought the Crius brand of the flight controller from Amazon.com and worked
Now you have to solder all cables from the motors to the L293D motor driver IC. Look at the pictures, they say much more, you have to connect black and blue wires to the GND and positive wires to the Outputs 1-4, just like me. The L293D can drive these motors, but I recommend to use some power transistors because this chip cannot handle all the four motors at high power (more than 2 Ampers). After this cut 15 cm straws these will hold the motors in place. I used extra strong straws that I got from a local bakery and cafe. Put these straws gently on the motors's gearings.
The Global Positioning System (GPS) is a space-based navigation system that provides location and time information in all weather conditions, anywhere on or near the Earth where there is an unobstructed line of sight to four or more GPS satellites. The system provides critical capabilities to military, civil, and commercial users around the world. The United States government created the system, maintains it, and makes it freely accessible to anyone with a GPS receiver. GPS modules typically put out a series of standard strings of information, under something called the National Marine Electronics Association (NMEA) protocol. More information on NMEA standard data strings can be found at this site.
For more information about programming read this: https://www.instructables.com/id/Connecting-GPS-mod...
I don't know if the software is already uploaded on the chip or not, but here I'll explain what to do. First download the official MultiWii library to your computer. Extraxt the .zip file then open it the MultiWii.ino file. Choose "Arduino/Genuino UNO" and upload it on your board. Now your microcontroller has every functions preinstalled. The gyroscope, the lights, the Bluetooth and even the small LCD (that is not used in this project) is working with the uploaded code. But this code only can be used to test if the modules work perfectly or not. Try to tilt the drone, and you'll see the motors will spin because of the gyrosensor. We have to modifiy the controller's code to follow the phone.
After this you can make your own hacked drone if you can program Arduino or follow my instructions and make it a "follow me" drone.
GitHub link for the software: https://github.com/multiwii/multiwii-firmware
Please visit the official site for more details about the softwares: http://www.multiwii.com/
I had to modify the sensors's code and the controller's code that gave prompts to the ATMega328, but now the Bluetooth module gives three GPS coordinates and depending on these the drone moves, so if my phone's x and y coordinates are 46^44'31" and 65^24"13' and the drone's coordinates are 46^14'14" and 65^24"0' then the dron will move in one direction until reaches the phone.
I used the SensoDuino app that can be downloaded from here to your smartphone: https://play.google.com/store/apps/details?id=com.... Connect to the drone via Bluetooth and turn on the GPS TX and data logging. Now the phone app is ready.
The drone is still insatble because is not a proffesional project, but works fine . I am very happy with the results. The connection distance was about 8 meters that is more than enough for a drone like this. The video is coming soon and I hope you'll like it. It is not a racing drone, but it's also pretty fast.
I also have a bigger drone and if I can correct the errors in the code I want to use it with that one through WiFi connection with an ESP8266 module. That has bigger rotors and can lift even a GoPro, not like the first version. This drone could be a useful tool while cycling, driving, skiing, swimming or sporting, he always follows you.