Build a WiFi Enabled Micro-quadrotor

This instructable just record how simple that build a WiFi enabled micro-quadrotor youself !

Most of parts can be bought cheap and easily.

And use your Android phone as remote-controller.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Things That Need Prepare

Parts you will need:

  1. flight controller board, "SP racing F3 EVO Brushed" here.
  2. 8520 brushed motor * 4
  3. 65mm blade propeller prop
  4. 1S 3.7V 300~600mAh li-po battery
  5. ESP-01 wifi module
  6. any frame for Micro-qaudrotor, you can DIY or buy from somewhere.

Tools/Things that you need:

  1. soldering iron
  2. solder
  3. tape
  4. foam tape
  5. hot glue
  6. any UART to USB bridge (to flash ESP-01 firmware)

Step 2: Flash ESP8266 Firmware and Setting WiFi Module!

Download esp-link firmware: https://github.com/jeelabs/esp-link

And flash it via UART to USB bridge.

After flash, reboot ESP-01,

and you will find a SSID called "ESP_XXXXXX".

(XXXXXX is least 3 byte of MAC address of ESP-01 module)

Connect it, and open http://192.168.4.1 in your browser.

Go to "Debug log" page, set to "off".

Go to "uC Console" page, set "Baud" to "115200".

And you can also change any other thing you want (ex: SSID, password...)

* wiring image modify from https://pixhawk.org/peripherals/8266

* ESP-01 pinout image from http://ruten-proteus.blogspot.tw/2014/12/esp8266-a...

Step 3: Wire and Place All the Things Up!

Step 4: Drone Setting

Note: Betaflight@3.4.0+, Cleanflight@2.4.0+ remove 'RX_MSP' for all F3 board, which is needed for control from app. You may need to flash older version or build a 'RX_MSP' enable version firmware.

1) connect FC using Clean/Betaflight configurator via USB cable (depend on what firmware FC used)

2) Go to the "Ports" tab.

- UART1 row -> engage the "MSP".

- Save and Reboot

3) Go to the "Configurations" tab.

- Mixer -> Quad X

- Receiver Mode -> "RX_MSP".

- Set Motor Stop

- Min Throttle = 1000, Max Throttle = 2000, Min Command = 1100

- Save and Reboot

4) Go to the "Modes" Tab

- Set "ARM" to AUX1 if you wish to arm via AUX1 button.

- Set Flights Modes (Optional). Acro/Rate mode is the default, so if you wish to use Angle and Horizon, you will need to set it now.

- I usually put the Angle mode on AUX2, Horizon on AUX3, Acro/Rate mode if both off.

5) the "CLI" Tab

- Motor Jitter/Start up spinning -> Type: "set motor_pwm_rate=16000" enter.

- Type: "save" enter.

- will auto Reboot.

6) the "Receiver" Tab

- you can check you control command here.

ps. Thanks rschoi_75's set-up guide, most of parts are the same, only RX part are different.

Step 5: Connect and Fly!

Note: Betaflight@3.4.0+, Cleanflight@2.4.0+ remove 'RX_MSP' for all F3 board, which is needed for control from app. You may need to flash older version or build a 'RX_MSP' enable version firmware.

download this app: link1: https://drive.google.com/open?id=0B-ud10kmI-kSZXhhdFROTndwYWs , link2: https://github.com/cs8425/msp-controller/releases

or you can build yourself: https://github.com/cs8425/msp-controller

connect to drone's wifi SSID,

open the app called "MSP-Controller",

click transmitter icon on left-top,

type in 'tcp://192.168.4.1:2323' and click 'connect',

and you see that status will be updated.

and then, arm and fly the quadrotor as your setting!!

Be the First to Share

    Recommendations

    • Assistive Tech Contest

      Assistive Tech Contest
    • Reuse Contest

      Reuse Contest
    • Made with Math Contest

      Made with Math Contest

    18 Discussions

    1
    None
    TriGlGeR

    19 days ago

    Hi, i try to use NodeMCU instead of ESP-01. But when I try to connect through the app nothing happens. It may be necessary to use ESP-01. In BetaFlight configurator i engage the "MSP" in UART1 row and select receiver Mode -> "RX_MSP". Maybe now other ways have appeared to connect the drone via wifi. For example, ready-made receivers instead of esp?

    1 reply
    0
    None
    JokerucakTriGlGeR

    Reply 5 days ago

    Hi, i made it work with NodeMCU with ESP8266, in the esp-link, in Home, scroll to pin assignment, and select preset esp-12, click change, then connect RX from MCU to TX on the F3, and TX from MCU to RX on the F3

    0
    None
    mrkoolarun

    2 months ago

    What is Remove Rx Msp for all F3 board? I did the same procedure but when i click on connect in the app nothing happens, Please help asap.

    0
    None
    leandro.ifpb

    4 months ago

    thanks for the tutorial worked perfectly... I used ESP-link firmware 3.0.14...I had some difficulties until I found the Firmware that enables RX_MSP. The SPRACINGF3EVO 2.0.0 cleanflight firmware worked.

    2 replies
    0
    None
    mrkoolarunleandro.ifpb

    Reply 2 months ago

    I made the connection to the flight controller also still not connecting

    0
    None
    mrkoolarunleandro.ifpb

    Reply 2 months ago

    I have flashed ESP link 3.0.14, and downloaded the on android phone but not connected the ESP 01 module to the Flight controller and tried to connect through app but when I click on connect in the app nothing happens, Can I connect through app without connecting it to Flight controller? presently I have turned up ESP 01 using a TTL adapter on my PC. Wifi has been set up my phone is connected to wifi but when I press connect in the app nothing happens.

    0
    None
    MadhuD2

    Question 8 months ago on Step 5

    Hi there, I followed the tutorial. Uploaded V2.2 firmware to f3 evo brushed. After all the said configuration, when I connect f3 Evo using app, f3 entering into DFU mode. Tired multiple times. Same result. Please help me with this.

    0
    None
    bialy958

    1 year ago

    Hey i have trouble. Phone is connecting status is updated but i can't steering drone on my phone.

    3 replies
    0
    None
    志允吳bialy958

    Reply 1 year ago

    What firmware and what version did you flash into FC? It seems that Betaflight@3.4.0+, Cleanflight@2.4.0+ remove 'RX_MSP' for all F3 board, which is needed for control from app. You may need to flash older version or build a 'RX_MSP' enable version firmware.

    0
    None
    bialy958志允吳

    Reply 1 year ago

    Thanks you for reply. I flash for older version firmware and in betaflight option Receiver i saw signal for phone and parameters changed but motors don't reacted for it.

    0
    None
    keanurusty1

    1 year ago

    Hi there, Im going to try your design but how do you download the app? i clicked the link but it didnt take me to the play store it just went to google and had a download tab etc, please help me!

    1 reply
    0
    None
    志允吳keanurusty1

    Reply 1 year ago

    I can't understand what you talking about, it just a google drive link, could be downloaded by anyone. Anyway, I put another download link.

    0
    None
    ReclusiveE

    1 year ago

    please help, i cannot connect to esp when i type tcp://192.168.4.1:2323 in msp controller app and click on connect.

    3 replies
    0
    None
    志允吳ReclusiveE

    Reply 1 year ago

    Did your phone connect to esp's wifi? Did the setting of the esp and the drone right? Please provide more information, otherwise I can't help you.

    0
    None
    ReclusiveE志允吳

    Reply 1 year ago

    yes, my phone connected to esp's wifi. I was also able to connect to 192.168.4.1 in browser but when I put the tcp://192.168.4.1:2323 in msp controller app, nothing happened, and no status updated.

    Also, i used default setting for drone and FC.

    0
    None
    志允吳ReclusiveE

    Reply 1 year ago

    You can't use default setting for FC, must setup UART(serial) port for MSP input. You can verify the setting by connecting configurator over tcp link (use 'tcp://192.168.4.1:2323' for connect).

    0
    None
    Droxz

    2 years ago

    Nice instructable, but is it possible to share all your part on ebay for example? Thanks for sharing and keep up the good work :)