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

    • Microcontroller Contest

      Microcontroller Contest
    • Automation Contest

      Automation Contest
    • Make it Glow Contest

      Make it Glow Contest

    27 Comments

    0
    lambrosz
    lambrosz

    11 months 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

    1 year 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.

    1
    danielskret
    danielskret

    1 year 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
    志允吳
    志允吳

    Reply 1 year 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 1 year 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
    mrkoolarun
    mrkoolarun

    Reply 1 year ago

    Author has muted after putting all of us in trouble.

    0
    leandro.ifpb
    leandro.ifpb

    Tip 1 year 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

    1 year 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 1 year 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 1 year 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 1 year ago

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

    0
    snakshay
    snakshay

    1 year ago

    how much range i can achieve with this wifi controller?

    1
    TriGlGeR
    TriGlGeR

    1 year 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 1 year 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

    1 year 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 1 year 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

    2 years ago

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

    0
    志允吳
    志允吳

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

    0
    bialy958
    bialy958

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