Build a WiFi Enabled Micro-quadrotor

Introduction: 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.

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

    • Remote Control Contest

      Remote Control Contest
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest
    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge

    29 Comments

    0
    mrkoolarun
    mrkoolarun

    1 year ago

    Hi , I followed the tutorial and I am using ESP link 3.0.14 on ESP 01 and Betaflight 4.0.6. However when I click on connect in the android app, esp blue LED keeps on blinking and status does not update in the app. It would be great if someone can help me, I am debugging this project on and off since an year and have not been able to succeed? Thank you in advance, I posting pictures and video for details in the images and comments below
    name of pictures and video describes what it is.. hoping to get the help soon... thank you

    Android app connect screen.jpegdata received on computer.jpegESP01_bottom.jpegESP01_top.jpegF3Evo top.jpegRx flag status on betaflight.jpegtelnet data sent.jpegtelnet screen connect.jpeg
    0
    danielskret
    danielskret

    2 years ago

    Hi i was fallow tutorial but on point where i need to press connect nothing happened.
    All settings are i thing correct according to tutorial.
    Port UART1 set MSP 115200
    Configuration motors stop 'ON'
    Receiver 'MSP RX'
    Throttle correct
    pwm_rate=16000 correct
    I used Clean Flight versions from 2.0.0 to 2.2.0
    ESP-LINK esp-link v3.2.47-g9c6530d setings correct i add only password and SSID

    Do i miss something ?

    0
    mrkoolarun
    mrkoolarun

    Reply 2 years ago

    Author has muted after putting all of us in trouble.

    0
    mrkoolarun
    mrkoolarun

    Reply 1 year ago

    Can someone confirm that If we can flash 3.0.14 and use ESP 01 or we need to flash ESP link 2.x?

    0
    志允吳
    志允吳

    Reply 2 years ago

    On ESP side,
    did you set "Debug log" to "off"?
    "Baud" to "115200"?
    Or maybe flash esp-link v2.2.3 then try again, this article was written with esp-link v2.x.

    0
    danielskret
    danielskret

    Reply 2 years ago

    Yes I did. I was follow exactly step by step.
    I will try with 2.2.3
    I have connection to esp when I try to connect from inav as a regural UART but won't read any data from FC so I suspect pin out so I try with esp 12 but won't work im waiting for oscilloscope to check signals but I didn't try other versions of esp-link. I will try and let know.

    0
    lambrosz
    lambrosz

    2 years ago

    Hello i see your work and i like this method. I want to connect my drone to my home network and controll it from there . I have expirience with esplink . For board i use an esp8266-07 flashed with esplink 3.0.14 and i have installed the app on my phone to test the link . When i open the app i put the drone network ip and the port and i press connect . The rx led on esp8266 starts to blink but after some time nothing happens . No connection . I folowed the tutorial and made every step . I use cleanFlight 2.0 esp8266-07 . My intetion is to make drone swarm and control them with node red .. :-p (if i make it) could you please help me ?

    0
    mrkoolarun
    mrkoolarun

    2 years ago on Step 5

    I am trying to connect app to the terminal in my laptop, but when I am pressing connect in the app, i can't see status updated but I see <$M characters repeatedly coming in the terminal after pressing connect, why the status is not updated?
    when tested the bridge using telnet app in android, i am able to receive the text successfully. Please help and tell me is there any thing wrong with the app? I am not able to see status update after connecting to flight controller also.

    0
    leandro.ifpb
    leandro.ifpb

    Tip 2 years ago

    One tip that may suit everyone is that you will have to adjust the throttle TRIM in the MSP-CONTROLLER app to find the perfect spot

    0
    leandro.ifpb
    leandro.ifpb

    2 years 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.

    0
    mrkoolarun
    mrkoolarun

    Reply 2 years 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
    志允吳
    志允吳

    Reply 2 years ago

    No, ESP just a bridge between app and FC.
    You can't connect to ESP without attach to FC and expected the app still working.

    0
    mrkoolarun
    mrkoolarun

    Reply 2 years ago

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

    0
    snakshay
    snakshay

    2 years ago

    how much range i can achieve with this wifi controller?

    0
    TriGlGeR
    TriGlGeR

    2 years 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?

    0
    Jokerucak
    Jokerucak

    Reply 2 years 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
    mrkoolarun
    mrkoolarun

    2 years 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
    MadhuD2
    MadhuD2

    Question 3 years 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
    bialy958
    bialy958

    3 years ago

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

    0
    志允吳
    志允吳

    Reply 3 years 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.