Introduction: Cheap Arduino Drone Using Bluetooth
In this Inscrutable I want to share a cool project I been working on. Making this project was quite an adventure and after hours tweaking and calibrating I was finally able to make this project work. That's why I want to share my experience and mistakes so that you can benefit from it.
Before we start let me briefly summarize the specs of this drone. Firstly this drone runs the MultiWii firmware , which is a popular flight control firmware that can be run on an Arduino board. We can control the Drone using any smartphone via Bluetooth connection. Also the drone can be given additional features by adding various sensors
Supplies:
- Brushed 3.7V 720 7.0x20mm Micro Coreless Motors x 4
- 2 Clockwise and 2 Anti Clockwise propellars
- 3.7v LiPo Battery (Anything between 300mAh to 500mAh should do )
- Frame which can be 3D printed or purchased
- Bluetooth module HM-10
- MPU6050 sensor module
- MT3608 DC DC Boast converter
- Atmega328p or can also use Arduino Pro Mini (5v 16MHz)
- SI2302 Mosfets x4
- SS12 Diodes x4
Attachments
Step 1: Schematic
Here is the schematic for this Drone. Although this schematic can drive a 6 motor drone aka hexacopter, we will only be needing 4 for a quadcopter.
As for the Motor Connection for quadcopter , here are the Pin mappings
Front left : M1 (Pin D3 for Arduino)
Front right : M3 (Pin D6 for Arduino)
Rear right : M4 (Pin D9 for Arduino)
Rear left : M2 (Pin D5 for Arduino)
Note : Soldering SMD components is hard especially beginners, (took me a couple of tries to solder the atmega328p chip) , If your new to this I recommend using an Arduino Pro Mini.
Step 2: PCB Design
The PCB is made from the above schematic diagram. I got it fabricated, as some of the traces were to tiny for the toner transfer method. I then soldered all the components to the board as per the schematic.
The Schematic and Board can be downloaded from Here
Step 3: Wiring Everything Together
Motor
Connect the motors as given in the schematic. Note that two motors spin in the clockwise direction and two motors spin in the anti clockwise direction (Refer to the figure) , If a motor is not spinning in the right direction simply switch the polarity of the motor.
Bluetooth
The Bluetooth module needs to be connected to a software serial port. Here are the connections if you plan to use Arduino Pro mini.
ArduinoBluetooth Module
5V -> Vcc
GND -> GND
D8 -> Tx
D7 -> Rx
Note : The Serial Baudrate set for Bluetooth module should be 9600
DC DC Boast converter
Since the Arduino board Works on 5 Volts and the the LiPo battery voltage can range from 3.7 to 4.2V , We need to use this boast converter to step up the battery voltage to 5V. Here I am using MT3068 but any boast converter with similar input and output voltage ranges should work.
Note : We are only boasting the voltage for the Arduino, for the brushed motors the supply is given directly from the battery
Caution: Make sure you set the output of the boast converter to 5v using the little potentiometer before soldering the board to the main circuit as these boast converter are capable of producing voltages that can damage the arduino and other components
Step 4: Uploading the Firmware
Connection
To upload the firmware you need a USB-to-Serial converter. Connect it to the programming pins of the Drone.
Note : If you purchased the atmega328p chip separately, chances are that it does not have a bootloader, hence uploading firmware via Serial converter will not work, In that case you may use an ISP programmer or any other Arduino board to burn the bootloader (learn more)
Software Required
Here we are using Arduino IDE to upload the firmware. You may also need to install the RemoteXY library If you haven't already (learn more)
Download the Firmware
Download the MultiWii firmware from here
Upload the Firmware
Open the MultiWii.ino in Arduino and make sure to select the correct board and serial port and click on the upload button
Step 5: Calibrating the Drone
We will be using a tool called MultiWiiConf which would be downloaded along with the firmware. This tool allows us to visualize the drone, calibrate the drone and set various parameters.
Note: MultiWiiConf requires java , you might need to install java if the program is not working
Now open MultiWiiConf and select the right COM Port , after which click on the START button, At this point you should be able to see the Drone visualization. Good, move the drone a bit and make sure the visualization moves accordingly.
Now Open the RemoteXY app on your phone and connect to the drone. move virtual joysticks and make sure the corresponding channels on the MultiWiiConf change.
Now keep the Drone on a level surface and click on CALIB_ACC button hold this position for a few seconds and finally click on the WRITE button to save the changes.
Step 6: Summary and Future Improvements
All in all this is a good project if your just getting started into Drones. Its cheap , you learn a lot and once your done you get a cool toy to play with. I had a lot of fun building and flying the drone.
Future Imporvements
- Adding additional sensors such as a barometer would have made flying the drone a bit easier for new drone pilots.
- Making the board a bit light and compact.
- On board charging circuit for the LiPo battery

Participated in the
PCB Challenge
24 Comments
13 days ago
Can i make it without knowledge about that stuff ? I can not see in your instruCtable exactly Where i have to connect all wires . Maybe you have pictures Where i have to connect all Things? Sry for my Bad english. The only Thing, last time i intsalled arduino ide and copied a Programm on a digispark
Reply 8 days ago
Yup @Sippa , I guess basic Arduino knowledge should suffice for this project. Thanks for your feedback , I will be adding more pictures and Fritzing diagrams to help you with the connections. I will also be adding a video explaining everything in detail.
Reply 7 days ago
Thank you very much :)
Reply 13 days ago
I want to compile the multiwii.ino but i get an error everytime.
NUMBER_MOTOR is not set, Most likley you have not defined any type of multicopter.
What can i Do now?
Reply 13 days ago
Now i typed #define QUADX
And now i have another error.
GYRO_SCALE was not declared in this scope.
-.-
Reply 12 days ago
1. try to install arduino v1.8.7
2. Dont change anything in "config h" file
3. just open *.ini file and press compilation button. NOT upload button and look in console window
Which arduino board do you plan to use?
Reply 12 days ago
Ok i will try 1.8.7
Until now i have 1.8.13
At first i tried just opening and press Compilation. It was not Working. Because it was not Working i tried to type something
Another Problem. I dont see the PCB board at the material list. Where can i buy that? Sorry for that questions and less knowledge but i really want to recreate it.
I will use the arduino pro mini which is in the material list.
I hope i can get help here from you all to manage this cool Stuff :)
Reply 12 days ago
Ok the Sketch is now Working. :D but now : how i get the PCB board and maybe someone can send pictures how i connect all boards? Thank you very very much.
Reply 11 days ago
you should design PCB himself .
There are 2 big websites where you can order pcb:
https://www.pcbway.com/
https://jlcpcb.com/
I am going to recreate drone too but now I dont have much time . so I just buy components for it and will try to make it later. I think it takes me about 1-2 months but not less
Do you speek Russian?
Reply 11 days ago
Hey, no i dont speak russian. I am from germany.
I was on that pbc Websites to take a Look. But i dont understand how i can create a pbc board what i need for this drone. :/
I bought all components already to recreate this drone except this pbc board.
You mean you need 1-2 month for this project because you dont have so much time or because its difficult to recreate it?
I will read that article " how to read circuits" thank you.
Reply 11 days ago
this project is pretty simple but now I work on another one . I added this project to my wish list.
here is simple example on how to connect all wires together:
https://cdn.sparkfun.com/r/600-600/assets/6/0/2/4/...
arrows show us that all similar words we should close.
pin out atmega328:
https://www.researchgate.net/profile/Mina_Tamunowari/publication/338690665/figure/fig2/AS:849377358802945@1579518751795/Pinout-diagram-of-ATmega-328-source-theengineeringprojectscom.jpg
Reply 11 days ago
ok i understand, but i think it will be very difficult for me to get the pcb board. i dont know how i can draw and buy it also in the shematic i can see resistors and at the pcb board is space for resistors, i dont know why there are resistors. at the material list i dont see resistors. it confuses me so much. i have many questions. well, probably this project is to difficult for me. maybe when you finished it , you can tell me here :) thanks for your help , i dont want to annoy you :)
Reply 11 days ago
read this article: "how to read circuits". Extremely useful for you.
There is answer there
https://learn.sparkfun.com/tutorials/how-to-read-a...
Reply 13 days ago
Hi. I have just tested sketch and it works fine.
Dont forget to install RemoteXY library first and try again
here is a link:
https://remotexy.com/en/help/how-install-library/
Reply 13 days ago
Library was the first Thing what i did. :/ everytime i get the first error and when i put in "define QUADX in the Tab "config h" i get the next error.
Do you even type anything or its already Working when you open multiwii.ino and test it after opening?
10 days ago
good project
Reply 8 days ago
Here, https://oshwlab.com/dsouzajovian123/brushed-drone . Sorry I missed this , I will update it in the instructable as well.
Question 15 days ago
What is the range with Bluetooth? Cheers!
Answer 14 days ago
about 8-10 meters
Question 21 days ago
greet instructable :))
But please could you send me your unique mobile app that you posted in step 6 ?
thanks in advance