Introduction: Arduplane - Arduino Based Rc Aircraft in Less Than 50$.

Picture of Arduplane - Arduino Based Rc Aircraft in Less Than 50$.

RC aircraft is one of the greatest toys everyone wants to play with. But buying one may be costlier lets get our hands dirty and build one for ourselves using the Arduino micro controllers . Lets make our own transmitter and receiver and build a flying RC aeroplane within 50$.

Step 1: ​Design:-

Picture of ​Design:-

The design of rc aeroplane needs knowledge of aerodynamics and simple mechanics. For this I would recommend

books such as Flight without Formula and Model aircraft aerodynamics by Martin simons. But for beginners it would be difficult to design using all parameters so I would recommend the website called .

This has a lot of flight designs and tutorials how to build them. Here I'm going to focus on electronics part of it. i.e how to build your own transmitter and receiver using the Arduino microcontroller.

Here I have made the FT Versa design using the .

For the aircraft design all you need is

1) Corrugated plastic sheet or depron foam sheet. you can get this from local hardware shop.

2) Cutter knife.

3) Hot glue gun

4) Glass fibre tape

The full tutorials and design is in this link

Thanks for the

Step 2: Getting Started With Electronics

Picture of Getting Started With Electronics

The standard RC Transmitter and Receiver which will cost you around 70$ to 80$. Lets build one for ourselves using arduino and cheap RF modules.

1) Arduino Uno and Nano (clone) ( cost : 2$ to 3$)

2) RF Modules 433Mhz or 315 Mhz ASK ( cost : 0.5 $)

3) Joystick module (cost : 0.5 $)

4) Brushless DC motor 1400kv ( cost: 10$ )

5) Electronic speed controller 20A or 30A (cost 8 to 10 $)

6) 2 9g servo Motors (cost : 2.4 $ for 2 motors)

7) Potentiometer for Throttle (cost : 0.4$)

8) LiPo Battery 500mah (cost : 10$)

9) Propeller 8*4E APC propeller

10) Wires, glue etc (cost : 5$)

Considering all the required materials for electronics side and plane design side you can make a delta wing plane with your own telemetry within 50$.

Note: In some countries 433Mhz and 868MHz is banned for normal use hence please check the government regulations.

Step 3: Connecting Everything.

Picture of Connecting Everything.

The connection is simple as explained in the fritzing diagram i have also included the fritzing file with code.

We have to connect a arm to potentiometer (10k ohm) to move and use it as a throttle.

We have to add an antenna to increase the range of the telemetry. We can even use the RF devices such as NRF2401L and Xbee depending on range requirement as these have range of around 1km . But there are government regulations for some frequency ranges so please be careful about those things. With this RF modules I'm getting a range of around 300m with proper antenna design.

Finally enclose the transmitter in a box and use a rechargeable or normal 9V battery to power arduino.

In receiver side ESC powers both arduino and receiver module.

Step 4: Coding

Picture of Coding

Coding is done using arduino IDE 1.0.4 please note if you are using higher version such as 1.6.7 you may get errors in receiver programs so please use arduino IDE1.0.4. Some libraries are needed to be included such as virtual wire , SoftwareServo, ServoTimer2 in arduino software's libraries folder. Code is self explanatory and we are getting the analog values from the potentiometer and joy stick and sending int using ASK modulation. Here the array of data is received back in receiver and is mapped against PWM values for brushless motor and degrees for servo motors.

The link for the code is here.

Step 5: Flight Test

Since the range of this telemetry is limited it is better to go with up gradation of RF modules or flying it in limited range. Flying needs a lot of skills hence be careful while flying your plane. One or two crashes may happen but if you have made it with corrugated plastic sheets it can easily tolerate the crashes.

Happy Flying !!!

Step 6: Update: Working Video

Hi guys, I thought of having a working video so here it is..

Plz, don't forget to vote me in contests.....:)



Manu Pardo (author)2017-10-08

Hi. very good proyect. I triying to make a some similar plane (i use a code of electronoobs, but i have problems in the control) for that reason your plane is a best option. the question is : i can change the 433mhz modules for a nrf24l01?. please help me. i dont have experience in code (not for create yet).

Yes. Of course, you can use nrf24l01. This uses SPI communication between the microcontroller and the NRF24L01 module. This will help you to increase the range of your plane. There are many libraries like Radiohead library, RF24 library etc. Code part will remain same you can replace the virtual wire library to RF24 library and send the data through the SDO or MOSI pin etc.

shiblee (author)2017-01-26


How to overcome the error during compiling the receiver sketch?

Arduino: 1.6.13 (Windows 7), Board: "Arduino Nano, ATmega328"

In file included from C:\Users\Tarit\AppData\Local\Temp\\Arduplane\receiver\receiver_2\receiver_2.ino:4:0:

C:\Users\Tarit\Documents\Arduino\libraries\ServoTimer2/ServoTimer2.h:26:17: error: conflicting declaration 'typedef uint8_t boolean'

typedef uint8_t boolean;


In file included from sketch\receiver_2.ino.cpp:1:0:

C:\Program Files\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:125:14: note: previous declaration as 'typedef bool boolean'

typedef bool boolean;


exit status 1

Error compiling for board Arduino Nano.

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

Setsu Sei (author)shiblee2017-08-20

I've succeeded on uploading it using Web Arduino Editor, Just upload the included library for the SoftwareServo in zip format

Vishwas Navada (author)shiblee2017-01-26

@shiblee download arduino 1.0.4 for zip version and run the code there. There's a problem in newer versions of arduino IDE.

shiblee (author)Vishwas Navada2017-01-26

Thank you very much.

EpicC (author)2017-08-07

How come when i verify the code it says

transmitter_2.ino: In function 'void setup()':

transmitter_2:9: error: 'vw_set_ptt_inverted' was not declared in this scope

transmitter_2:10: error: 'vw_setup' was not declared in this scope

transmitter_2.ino: In function 'void send(byte*, int)':

transmitter_2:25: error: 'vw_send' was not declared in this scope

transmitter_2:26: error: 'vw_wait_tx' was not declared in this scope

please respond quickly

kiran shankar (author)2017-04-14

I downloaded the file with the code but it is super confusing can any one tell me what i should do

kiran shankar (author)2017-04-14

where does the battery connect to..

kiran shankar (author)2017-04-14

can I use 1800kv motor

subho2017 (author)2017-03-11

Hiii...Vishwas....I am using Adruino Pro Mini at Transmitter side and Adruino Nao at Receiver side Serial Monitor is sowing the data feed for joystic (Thumb-2 Axes) but its not communicating with receiver. I am using RF433 MHz.My IDE there any problem in programming? Please help bro.... :-(

Vishwas Navada (author)subho20172017-03-15

Hey, you can check the wireless connectivity between Tx and Rx like this, once you power up both Tx and Rx side , Rx LED of arduino nano turns on or blinks as data it receives data. Check the data pin connections of both RF modules. Pin no 11 in receiver side and 12 in transmitter side.

subho2017 (author)Vishwas Navada2017-03-21

Vishwas is my programming right?I am using 2 servos and only joystick,no PWM control for motor becoz am using core-less motor.

nambiarvishnu (author)2017-03-03

where to connect rf modules and what are those black tings connected to esc and potential meter

Thats receiver. Data pin pin of that receiver is connected to arduino nano's pin no 11 as shown in figure. And tge power to receiver unit is provided by ESC's BEC .

Thx for reply even im living in b'

Vishwas Navada (author)2016-06-22

Thank you very much @ SaieshC and snagaraj3

snagaraj3 (author)2016-06-22

Very good explaination and simpler to make and less cost helps to do it with limited budget
Good job bro.. all the best for ur projects....!!!!????

SaieshC (author)2016-06-22

One of the best plane designs i have seen.Plane looks aerodynamically stable and doesn't require a hell lot of hard work and a crazy budget for parts.Design is simple enough for any one to rocket scientist required.Looking forward to a fun weekend.

Nikshep (author)2016-06-22

Good job buddy... Helped a lot.... thanks and good luck...

Vishwas Navada (author)2016-06-21

Thanks @ NapoleonA

NapoleonA (author)2016-06-21

The design and implementation is really good ! Would like to have a video of this plane flying.


Vishwas Navada (author)2016-05-28

I will upload it as soon as possible because first 2-3 flights were crash landing. I have to make a video..:) @ vishnu-a

TheRandom_ king (author)2016-05-27


Why don't you just upload a video of your plane flying?????

Vishwas Navada (author)2016-05-27

Thank you seamster for your comment.

seamster (author)2016-05-27

Nice work on your plane! Gotta love the flite test plans - I've built a couple of them and they came together so well. Thanks for sharing the details of your project!

About This Instructable




More by Vishwas Navada:Laser Microscope & Laser DiffractionArduplane - Arduino based rc aircraft in less than 50$.
Add instructable to: