element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • Product Groups
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Electronic Toys
  • Challenges & Projects
  • Project14
  • Electronic Toys
  • More
  • Cancel
Electronic Toys
Blog DIY Smartphone controlled tiny plane as weekend project for children and parents
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Electronic Toys requires membership for participation - click to join
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: ravi_butani
  • Date Created: 18 Jul 2019 1:21 PM Date Created
  • Views 2526 views
  • Likes 15 likes
  • Comments 10 comments
  • rc plane
  • esp8266 plane
  • wifi plane
  • electronictoych
Related
Recommended

DIY Smartphone controlled tiny plane as weekend project for children and parents

ravi_butani
ravi_butani
18 Jul 2019

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

image

 

Have you ever dream about building <15 $ DIY remote control park flyer plane that control by your mobile phone (Android App over WiFi) and give you daily dose of adrenaline rush of 15 minutes (flying time of around 15minutes)? than this blog is for you guys.. This plane is very stable and slow flying so its very easy for even kids to fly it.

Talking about range of the plane... I have got around 70 meter LOS range using my Moto G5S mobile acting as WiFi Hotspot and remote controller. Further real-time RSSI displayed on Android App and if plane about to go outside range (RSSI fall below -85 dBm ) than mobile phone starts vibrating. If plane goes outside range of Wi-Fi access point than motor stops to provide fail safe landing. Also battery voltage displayed on Android app and if battery voltage fall below 3.7V than mobile phone starts vibrating to provide feedback to pilot for land the plane before battery gets fully drained. Plane is fully gesture controlled means if you tilt mobile phone on left than plane turn left and opposite for right turn.

So here, I am sharing step by step build instruction of my ESP8266 based WiFi controlled tiny Plane.

Build time required for this plane is around 5-6 hours and requires basic soldering skill, little bit programming knowledge of ESP8266 using Arduino IDE and having Cup of hot coffee or chilled beer around will be great image

imageimage

 

Electronics Parts :If you are electronics hobbyist than you will find many of the parts listed below in your inventory..

  • 2 nos. Coreless DC motor with cw and ccw prop --> 5$
  • 1 nos. ESP-12 or ESP-07 module --> 2$
  • 1 nos. 3.7V 180mAH 20C LiPo battery -- > 5$
  • 2 nos. SI2302DS A2SHB SOT23 MOSFET --> 0.05$
  • 5 nos. 3.3kOhms 1/10 watt smd or 1/4 watt through hole resistors --> 0.05$ (3.3K to 10K any resistor will work)
  • 1 nos. 1N4007 smd or through hole diode --> 0.02 $
  • 1 nos. TP4056 1S 1A Lipo Charger module --> 0.06$
  • 2 male and 1 female mini JST connector --> 0.05$

Total Cost--------> 13$ ApproxOther Parts:

  • 2-3 nos. Barbecue stick
  • 1 nos. 50cm x 50cm 3mm depron sheet or any rigid 3mm foam sheet
  • Single core insulated jumper wire
  • Nodemcu or cp2102 USB to UART converter as programmer for upload firmware to esp8266
  • Scotch Tape
  • Super Glue

Tools Required:

  • Hobby grade Soldering Tools
  • Surgical Blade with blade holder
  • Hot glue gun
  • Scale
  • Computer having Arduino IDE with ESP8266 Arduino Core
  • Android Mobile phone

That's it all we need... Now we are all set to build our crazy WiFi Controlled Plane

 

Control Mechanism:

imageimage

This Plane uses differential thrust for yaw control (Steering) and collective thrust for pitch (climb/descent) and air speed control hence no servo motor needed and only two main coreless DC motor provides thrust and control.

Polyhedral shape of wing provides roll stability against external force (Wind gust).

Intentionally avoiding servo motor on control surfaces (elevator, Aileron and Rudder) makes design of the plane very easy to build without any complex control mechanism and also reduce cost of the build.

To control the plane All we need is to control thrust of both Coreless DC motor remotely via WiFi using Android App running on mobile phone.

Just in case, any one want to observe this plane's design in 3D, I have attached Fusion 360 screen shot and stl file here.. you can use online stl viewer to look at the design from any view angle.. once again it is just a CAD design of plane for documentation, you do not need 3D printer or laser cutter.. so don't worry image

 

ESP12e (ESP8266) Based receiver *** control module Schematic:

schematic

Lets start with understanding function of each component in schematic,

  • ESP12e : This ESP8266 WiFi SoC receives UDP control packets from Android App and controls RPM of Left and Right motor.It measures battery voltage and RSSI of WiFi signal and send it to Android App.
  • D1: ESP8266 module safely operates between 1.8V~3.6V as per its data sheet, hence single cell LiPo battery cant be used directly for ESP8266 power supply so step down converter is required. Reduce circuit weight and complexity I have used 1N4007 Diode to drop battery voltage (4.2V ~ 3.7V) by 0.7V (cut in voltage of 1N4007) to get voltage in range of 3.5V~3.0V which is used as supply voltage of ESP8266. I know its ugly way to do so but its working just fine for this plane.
  • R1, R2 and R3: these three resistors are minimum required for ESP8266 minimum setup. R1 pull-up CH_PD(EN) pin of ESP8266 to enable it. RST pin of ESP8266 is active low so R2 pull-up RST pin of ESP8266 and bring it out of reset mode. as per data sheet on power up, GPIO15 pin of ESP8266 must be low so R3 used to pull-down GPIO15 of ESP8266.
  • R4 and R5: R4 and R5 used to pull-down gate of T1 and T2 to avoid any false trigger of mosfets (motor run) when ESP8266 power up. (Note: R1 to R5 values used in this project is 3.3Kohms, however any resistance between 1K to 10K will work seamlessly)
  • T1 and T2: These are two Si2302DS N-channel power mosfets (2.5 Amp rating) controls RPM of Left and Right Motor by PWM coming from GPIO4 and GPIO5 of ESP8266.
  • L_MOTOR and R_MOTOR: These are 7mmx20mm 35000 RPM Coreless DC motors provides differential thrust for fly and control plane. Each motor provides 30gram thrust at 3.7V and draws 700mA Current at speed.
  • J1 and J2: These are mini JST connector used for ESP12e module and Battery connection. You can use any connector that can handles at least 2Amp current.

(Note : I completely understand importance of decoupling capacitor in mixed signal circuit design, but I have avoided decoupling capacitors in this project to avoid circuit complexity and part count as only WiFi part of ESP8266 is RF/Analog and ESP12e module itself having necessary decoupling capacitors on-board. BTW without any external decoupling capacitor circuit works just fine.)

ESP12e based receiver schematic with programming connection in pdf format is attached with this Blog..

 

Build Log:

Above video with caption shows step by step build log of ESP12e Based Receiver *** controller designed for this project. I have tried to place components as per my skills. you can place components as per your skill by considering schematic given in previous step.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Only SMD mosfets (Si2302DS) are too small and needs taken care while soldering. I have these mosfets in my inventory so I have used it. You can use any bigger TO92 package power mosfet with Rdson < 0.2ohms and Vgson < 3.7V with current rating of >1.5Amps. (Suggest Me if you find such mosfet easily available in market..)

Once this hardware is ready, we are all set for upload firmware of WiFi Plane to nodemcu this process discussed in next step.

Firmware Setup and Upload:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

image

 

ESP8266 firmware for this project is developed using Arduino IDE.

Nodemcu or USBtoUART Converter can be used to upload firmware to ESP12e. In this project I am using Nodemcu as a programmer to upload firmware to ESP12e.

Above Video shows step by step process of the same..

There are two methods to upload this firmware to ESP12e,

  1. Using nodemcu flasher: If you just want to use wifiplane_esp8266_esp12e.bin binary file attached with this step without any modification in firmware than this is best method to follow.
    • Download wifiplane_esp8266_esp12e.bin from attachment of this blog.
    • Download nodemcu flasher repo from its official github repository and unzip it.
    • In unzipped folder, Navigate to nodemcu-flasher-master\Win64\Release and run ESP8266Flasher.exe
    • Open config tab of ESP8266Flasher and change binary file path from INTERNAL://NODEMCU to path of wifiplane_esp8266_esp12e.bin
    • Connect ESP12e based WiFi receiver module to your computer via Nodemcu-as programmer or USB to UART Converter.
    • Open Operation tab of ESP8266Flasher at this step you should see COM port number of attached programmer, if so hit flash button and wait till firmware upload process completes.
    • You need to remove programming connection (At least GPIO0 should be removed than uploaded firmware will boot)
    • If all goes fine than you can See blue LED on ESP12e start flashing at every one second.
    • Cheers ESP12e is now ready to communicate with Android App.
  2. Using Arduino IDE: If you want to edit firmware (i.e. SSID and password of WiFi network - Android Hotspot in this case) than this is best method to follow.
    • Setup Arduino IDE for ESP8266 by following this excellent Instructable.
    • Download wifiplane_esp8266.ino from attachment of this blog.
    • Open Arduino IDE and copy code from wifiplane_esp8266.ino and paste it in toArduino IDE.
    • Edit SSID and Password of your network in the code by editing following two lines.
char ssid[] = "wifiplane"; // your network SSID (name)
char pass[] = "wifiplane1234"; // your network password (use for WPA, or use as key for WEP)
  • Connect ESP12e based WiFi receiver module to your computer via Nodemcu-as programmer or USB to UART Converter.
  • Hit Upload button from Arduino IDE and wait till firmware upload process completes.
  • If all goes fine than you can See blue LED on ESP12e start flashing at every one second.
  • Cheers ESP12e is now ready to communicate with Android App.

Now in next step I will provide step by step build information for making Airframe for this project.

Airframe Build Log:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Picture of Airframe Build LogPicture of Airframe Build Log

 

 

Airframe build log is shown step by step in video above. I have used 18cmx40cm piece of depron foam for airframe. Barbecue stick used to provide extra strength to fuselage and wing. In above image Plan of of Airframe is provided, however you can modify plan as per your need by just keeping basic aerodynamics and weight of the plane in mind. By considering electronics setup of this plane, it is capable to fly plane with maximum weight of around 50grams. BTW with this airframe and all electronics including battery flying weight of this plane is 36grams.

CG Location: I have used general thumb rule of CG for smooth glide...its 20%-25% of the of chord length away from leading edge of wing... With this CG setup with slightly up elevator, it glides with zero throttle, level fly with 20-25% throttle and with added throttle it starts climbing due to slightly up elevator...

Here is youtube video of my flying wing airplane design with same electronics to just inspire you to experiment with various design and also to prove that for this setup can be used with many airframe design type.

Now with Airframe with all electronics mounted on it, we are all set to test the plane control function with Android App in next step.

Android App Setup and Testing:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

 

Picture of Android App Setup and Testing
Android App Installation:
You just need to download wifiplane.apk file attached with this blog to your smartphone and need to folow instructions.About App
This Android App is developed using Processing for Android.
App is not signed package so you need to enable unknown source option in setting of your phone.
App need only right to access vibrator and WiFi network.
Trim motors, Arm/Disarm, RSSI, Battery Voltage, Throttle, Beginner/Expert Mode options in app.
Refer above image to know more about App GUI.Installation of Android Application for WiFi plane to your smartphone is quite easy and its step by step process is in this video.
Pre-flight Test of Plane using Android app:
Once Android App is up and running on your smart phone, refer above video to know how App works and various cool features of the app..
If your plane responds to App same way as above video,
than its GREAT ... YOU HAVE MADE IT...
It's Time to Fly

Ready to fly?...

GET IN TO THE FIELD

  • DO SOME GLIDE TEST
  • CHANGE ELEVATOR ANGLE or ADD/REMOVE WEIGHT ON NOSE OF PLANE UNTIL IT GLIDING SMOOTHLY...
  • ONCE IT'S GLIDING SMOOTHLY, POWER ON PLANE and OPEN ANDROID APP
  • HAND LAUNCH PLANE FIRMLY WITH 60% THROTTLE against Wind
  • ONCE IT'S IN THE AIR, IT SHOULD EASILY FLY AT LEVEL WITH AROUND 20% to 25% THROTTLE

I am sure, You gonna fall in love with it...

Video at the end shows how slow and Low its flying...View this video till end... I bate, You cant stop your self to build and fly this crazy baby Plane.....

Finally with this quote "I'm not afraid of flying, I'm afraid of not flying...."

image ....ENJOY................HAPPY MAKING...............HAPPY FLYING.... image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Attachments:
ESP8266_plane_files.rar
  • Sign in to reply

Top Comments

  • ralphjy
    ralphjy over 3 years ago +6
    Very nice build. I'm impressed that you can get 15 minutes of flying time with such a small battery. Unfortunately, we usually have enough wind that I wouldn't be able to fly a lightweight plane reliably…
  • dubbie
    dubbie over 3 years ago +4
    What a great toy/plane. If I had the time I might have a go at building this. Dubbie
  • balearicdynamics
    balearicdynamics over 3 years ago +4
    Great Job Ravi! And thank you for the very complete and detailed documentation. I have in mind to make something flying too but based on a couple of micro:bit connected via radio. Your blog contains a…
  • clem57
    clem57 over 3 years ago

    OMG! This is a great build and very value oriented as well. Thanks for the blog.

    Clem

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • three-phase
    three-phase over 3 years ago

    Well done for producing a detailed build blog and a fantastic demonstration of the working plane.

     

    Kind regards.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • carmelito
    carmelito over 3 years ago

    Very interesting project, and an awesome build.. Thanks for posting all the details..

    -Carmelito

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • dubbie
    dubbie over 3 years ago in reply to ravi_butani

    Ravi,

     

    Goodness me, I haven't been called Sir for many years, since I retired from University. I have many fond memories of working with students from India (and many other Countries), they were always very polite, and happy. I can remember once completing the end of semester examinations in January, when it snowed and the Indian students went outside and made snowmen - which they had never done before.

     

    Dubbie

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren over 3 years ago

    Awesome job on the project and documentation.  The demonstration flight video was very good (great control).

     

    Gene

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2023 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube