You are on page 1of 14

instructables

DIY WiFi Controlled Tiny Plane <15$

by RAVI_BUTANI

Amazed with overwhelming response to my first to provide fail safe landing. Also battery voltage
Instructable by readers... Big Thanks to Readers... displayed on Android app and if battery voltage fall
below 3.7V than mobile phone starts vibrating to
Have you ever dream about building <15 $ DIY provide feedback to pilot for land the plane before
remote control park flyer plane that control by your battery gets fully drained. Plane is fully gesture
mobile phone (Android App over WiFi) and give you controlled means if you tilt mobile phone on left than
daily dose of adrenaline rush of 15 minutes (flying plane turn left and opposite for right turn.
time of around 15minutes)? than this instructable is
for you guys.. This plane is very stable and slow So here, I am sharing step by step build instruction of
flying so its very easy for even kids to fly it. my ESP8266 based WiFi controlled tiny Plane.

Talking about range of the plane... I have got around Build time required for this plane is around 5-6 hours
70 meter LOS range using my Moto G5S mobile and requires basic soldering skill, little bit
acting as WiFi Hotspot and remote controller. Further programming knowledge of ESP8266 using Arduino
real-time RSSI displayed on Android App and if plane IDE and having Cup of hot coffee or chilled beer
about to go outside range (RSSI fall below -85 dBm ) around will be great :).
than mobile phone starts vibrating. If plane goes
outside range of Wi-Fi access point than motor stops

https://www.youtube.com/watch?v=w59wM2HqkeQ

DIY WiFi Controlled Tiny Plane <15$: Page 1


Step 1: What You Need

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$ Approx

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

DIY WiFi Controlled Tiny Plane <15$: Page 2


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

Step 2: Control Mechanism

DIY WiFi Controlled Tiny Plane <15$: Page 3


This Plane uses differential thrust for yaw control To control the plane All we need is to control thrust of
(Steering) and collective thrust for pitch both Coreless DC motor remotely via WiFi using
(climb/descent) and air speed control hence no servo Android App running on mobile phone.
motor needed and only two main coreless DC motor
provides thrust and control. Just in case, any one want to observe this plane's
design in 3D, I have attached Fusion 360 screen shot
Polyhedral shape of wing provides roll stability and stl file here.. you can use online stl viewer to look
against external force (Wind gust). at the design from any view angle.. once again it is
just a CAD design of plane for documentation, you
Intentionally avoiding servo motor on control surfaces do not need 3D printer or laser cutter.. so don't
(elevator, Aileron and Rudder) makes design of the worry :)
plane very easy to build without any complex control
mechanism and also reduce cost of the build.

Download
https://www.instructables.com/ORIG/FIB/57QH/JH9LH77M/FIB57QHJH9LH77M.stl

Step 3: ESP12e Based RX/Controller Schematic

ESP12e (ESP8266) Based receiver cum control module Schematic:

DIY WiFi Controlled Tiny Plane <15$: Page 4


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 step..

Download
https://www.instructables.com/ORIG/FVY/1IF7/JHGJL5NL/FVY1IF7JHGJL5NL.pdf

DIY WiFi Controlled Tiny Plane <15$: Page 5


Step 4: Electronics Build Log

Above video with caption shows step by step build use any bigger TO92 package power mosfet with
log of ESP12e Based Receiver cum controller Rdson < 0.2ohms and Vgson < 3.7V with current
designed for this project. I have tried to place rating of >1.5Amps. (Suggest Me if you find such
components as per my skills. you can place mosfet easily available in market..)
components as per your skill by considering
schematic given in previous step. Once this hardware is ready, we are all set for upload
firmware of WiFi Plane to nodemcu this process
Only SMD mosfets (Si2302DS) are too small and discussed in next step.
needs taken care while soldering. I have these
mosfets in my inventory so I have used it. You can

https://youtu.be/4l3Bq9izrzU

Step 5: ESP8266 Firmware Setup and Upload

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,

DIY WiFi Controlled Tiny Plane <15$: Page 6


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 step.
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 step.
Open Arduino IDE and copy code from wifiplane_esp8266.ino and paste it in to
Arduino 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.

https://youtu.be/z8aYQBdBZoc

DIY WiFi Controlled Tiny Plane <15$: Page 7


Download
https://www.instructables.com/ORIG/FDQ/WJSU/JHGJL6SW/FDQWJSUJHGJL6SW.ino

Download
https://www.instructables.com/ORIG/F5G/H24F/JHGJL6SX/F5GH24FJHGJL6SX.bin

Step 6: Airframe Build Log

Airframe build log is shown step by step in video with slightly up elevator, it glides with zero throttle,
above. I have used 18cmx40cm piece of depron foam level fly with 20-25% throttle and with added throttle it
for airframe. Barbecue stick used to provide extra starts climbing due to slightly up elevator...
strength to fuselage and wing. In above image Plan of
of Airframe is provided, however you can modify plan Here is youtube video of my flying wing airplane
as per your need by just keeping basic aerodynamics design with same electronics to just inspire you to
and weight of the plane in mind. By considering experiment with various design and also to prove that
electronics setup of this plane, it is capable to fly for this setup can be used with many airframe design
plane with maximum weight of around 50grams. BTW type.
with this airframe and all electronics including battery
flying weight of this plane is 36grams. Now with Airframe with all electronics mounted on it,
we are all set to test the plane control function with
CG Location: I have used general thumb rule of CG Android App in next step.
for smooth glide...its 20%-25% of the of chord length
away from leading edge of wing... With this CG setup

https://youtu.be/AbGpzkqeiFA

DIY WiFi Controlled Tiny Plane <15$: Page 8


https://www.youtube.com/watch?v=tAAx21j6hkM

Step 7: Android App Setup and Testing

Android App Installation:

You just need to download wifiplane.apk file attached with this step 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,

DIY WiFi Controlled Tiny Plane <15$: Page 9


than its GREAT ... YOU HAVE MADE IT...

https://youtu.be/YRot8VTxQGg

https://youtu.be/c4KcVKKQLvs

Download
https://www.instructables.com/ORIG/FSU/V83P/JHGJL6CN/FSUV83PJHGJL6CN.apk

Step 8: 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 with this step 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...."

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

https://youtu.be/8wR0m9Vc0YM

DIY WiFi Controlled Tiny Plane <15$: Page 10


Step 9: Limitations and Future Update Plan

Limitation : Access Point's SSID and Credentials are performed by the plane. Look and feel of Android App
Hard coded in ESP8266 Firmware, so need to need professional makeover and it will going to take
change ESP8266 firmware if you are making multiple lot of time so I am looking for some helping hand who
planes and want to fly them all at common field. It is contribute in the same. Happy to help you,
really annoying to tie up ESP8266 to computer for
upload edited firmware. Your Questions/Comments/Suggestions/Critics
are welcome...
Solution : I am planning to include Wi-Fi manager in
ESP8266 firmware and Wi-Fi Configuration part in Hope you Liked and Enjoyed my First ever
Android App in future Update, so by just pressing a Instructable..
button ESP8266 act as a Access Point and SSID and
Credentials of preferred WiFi network can be passed Cheers,
to ESP8266 using Android App itself. I would also
like to add more degree of freedom in Airframe design Ravi
and electronics so some cool aerobatics can be
Hi sir which language or code is use in packet

e o ativado, coloque-o acima, para não desativá-lo acidentalmente ao parar de acelerar

É possível editar o apk, para que o acelerador não ocupe o celular inteiro

amigo isso é maravilhoso, perceber que acelerar o telefone vibra, e asim? se puede modificar,
muito obrigado
Hi sir, I have been desperately trying from last six months to build the project by you but due to no
knowledge of nodemcu and all stuff provided by you I was hopeless. But I tried and tried and today
I successfully flashed my esp8266. The last thing remaining is to attach on body of plane made
with coroplast as this is the easily available material that I am going to use. Thanks to you for such
a good project. Today my dream come true.
Thanks again.
I made it. The plane flew perfectly and worked well. Thank you for sharing it. Can you share the
app project (.aia). I want to learn how the transmitter works.

Have every thing built and testing I have no output to the motors. Your app appears to work as it is
connected and I am reading voltage and signal strength but I get no outputs on the ESP8266 ports
4 and 5 moving throttle up and down. I am connected through my home wifi network since my
phone is not setup with hot spot capability. OK, motors now work through phone hotspot but I can
not get them to turn off. Motor noise is causing the problem. Works fine with motors disconnected
using a scope to look at motor drive signals.
Can Esp-03 be used if yes schematics please.
Thanks & Regards.

DIY WiFi Controlled Tiny Plane <15$: Page 11


Excellent project indeed Sir I am facing following error while uploading using Nodmcu Tried several
tricks mentioned in the various sites but unable to debug Can u help me
warning espcomm sync failed
error espcomm open failed
error espcomm open failed

Wrong Com port, wrong board selected or there is error in connections

I have soldered all hardware on pcb and total weight is 4 grams. But I am not able to flash. I have
tried everything as per your instructions. Can I send it to you.

check Tx-Rx connections.. if Nodemcu is acting as programmer than RST-GND short on nodemcu
must... also make sure you powerup board after doing all connection... BTW schematic and video
in instructable for upload code contein all info..
Sir I have followed all your instructions and when I hit flash button it doesn't work.
Can you please help me out.
hi sir....you are very intelligent...how if i want to put servo to this plane...it is possible sir?

Yes you can tweak esp8266 firmware to add servo support...

hi sir...can i use D1 mini for this project...

yes.. its 100% competible... Go Ahead

Hi Ravi i followed steps as per this instructable but i am facing problem with both Nodemcu and
usb to uart for flashing and uploading firmware on esp12e. It does not get mac address on the
nodemcu flasher software and in Arduino IDE uploading gets failed.

https://drive.google.com/drive/folders/1zMCOLPK6YJ...
active
https://drive.google.com/file/d/1gKxi-3xPDlb2TV8EP...
App Source
DEAR Sir....
Can you share the processing script , and how to build the android apps
https://drive.google.com/file/d/1gKxi-3xPDlb2TV8EPb2U0kMg5PIsWq74/view?usp=sharing

The App is not responding on my Android htc dual 626.

Sir again I wanted to know that can I use 25c lipo instead of 20c as 20c is not easily available.

In fact 25C is good compared to 20C ... Go for it...

I am working on your project and I am unable to find 7mm*20mm 35000 rpm motor. Can you
please provide me details of vendor so I can build it.

DIY WiFi Controlled Tiny Plane <15$: Page 12


Getting 7*16 mm coreless motor 35000 rpm will it work

is there a way to make the motors work backwards? ie trying to make a rc boat that can reverse.

Need hbridge means 4mosfet per motor

Just swap motor wires.... Enjoy

App is not working in KitKat and app is only working in Nougat. Please provide source code of app.
So, i make app that can work in KitKat.
Please respond to my message & I hope you will respond to my message.
Can you sell this for 2000 rs .I am from Surat.

Can you please send si2302 smd to Surat.I paytm before you send with delivery charge.because
of there is 20 day take to deliver in india.
You can buy it from https://www.sunrom.com/p/si2302
Ahmedabad and reach you on next day..
Hii..
I have completed my Instructable just now.. Please have a look and suggest me If I am missing
something as its my first instructable..
Thanks,
Ravi
Why to pay 2K if you can build yours at less than 1K... Wait for few days you will get all step by
step build log here...
Hi,
Could you please let me know which propeller is CW and CCW - I mean left or right?
Thanks!
Right side CW and left side CCW... Also as plane is pusher type, both prop mounted with leading
edge toward motor...
Very Nice project.IoI

can i use ESP-12F instead of ESP-12E or it need program modification , i really want to thank you
for that projet i have been 2 year working to do same project with PIC and infra red i suceed to do
program but i stopped due to lack of resources in Egypt but this time i won't stop
Go ahead with esp-12f... All steps remains 100% same... esp-12e and esp-12f are identical expect
minor change in antenna... let me know if you stuck any where..
Ravi
Fantastic project, very well done! I'm very impressed. Also the Instructable is well explained with
helpful videos. Thank you!
Thanks Dear...

Great... you liked my project.. You are doing awesome man... I got lots of inspiration by visiting
your personal website..
Good work! on completing the details of your design, fabrication and operation.

DIY WiFi Controlled Tiny Plane <15$: Page 13


Just one suggestion: Could you work out and mark the ideal CG location so that when the location
of components is suitably adjusted for this the plane would be statically stable could glide
comfortably in case of power failure.
Inspired by your suggestions for relative placement of part for perfect CG.. I have started designing
sliding frame of plane using custom designed 3D printed bracket for seamless assembly of plane
even on field without any tool... Its snap on design..
Have a look at images attached

Good approach but be careful that the overall structural weaight does not go up.

Thank yous sir...


My calculation confirms ... Total weight of all bracket is almost equal to hit glue used for this
plane... Further now I am using 2 mm di and 3mm do hallow carbon fiber tubes instead of barbecue
stick..
As I have made all brackets using 3d printer I have to taken care for limitations of 3d printing... But
if injection molding used for bracket, I can still reduce weight of brackets with added strength..

Btw cockpit is ready...

sure sir... I will edit this details soon... I have used general thumb rule of CG for smooth glide...its
20% 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...

DIY WiFi Controlled Tiny Plane <15$: Page 14

You might also like