Cheap Arduino Drone Using Bluetooth

7,937

142

24

Introduction: Cheap Arduino Drone Using Bluetooth

About: Hi, my name is Jovian and I like hacking, breaking and building things .Doing projects that are interesting is something I love since my childhood. I like to think outside of the box and make amazing tutorial…

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

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

PCB Challenge

Participated in the
PCB Challenge

Be the First to Share

    Recommendations

    • Pi Day Speed Challenge

      Pi Day Speed Challenge
    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Microcontroller Contest

      Microcontroller Contest

    24 Comments

    0
    Sippa
    Sippa

    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

    1
    dsouzajovian
    dsouzajovian

    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.

    0
    Sippa
    Sippa

    Reply 7 days ago

    Thank you very much :)

    0
    Sippa
    Sippa

    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?

    0
    Sippa
    Sippa

    Reply 13 days ago

    Now i typed #define QUADX

    And now i have another error.

    GYRO_SCALE was not declared in this scope.

    -.-

    0
    genia19911
    genia19911

    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?

    0
    Sippa
    Sippa

    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 :)

    0
    Sippa
    Sippa

    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.

    0
    genia19911
    genia19911

    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?

    0
    Sippa
    Sippa

    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.

    0
    genia19911
    genia19911

    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

    0
    Sippa
    Sippa

    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 :)

    0
    Sippa
    Sippa

    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?

    0
    Marvtec
    Marvtec

    10 days ago

    good project

    0
    smeek111
    smeek111

    Question 15 days ago

    What is the range with Bluetooth? Cheers!

    0
    genia19911
    genia19911

    Answer 14 days ago

    about 8-10 meters

    0
    genia19911
    genia19911

    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