DIY: Arduino Based RC Transmitter and Receiver

29,452

57

15

Introduction: DIY: Arduino Based RC Transmitter and Receiver

About: I love making and flying RC planes.

In this tutorial making of an Arduino based Tx and RX is explained which can be used to fly an RC plane. This transmitter has 4 channels but by applying some modification it can be increased to 8 or even more. This transmitter has the range of around 50m. And it can be made fewer than 600 Rs.


before making it actually. it is highly recommended to go through this video:

Step 1: List of Material:

·

Arduino board 2x (arduino Nano recommended),

  • 433 MHz based Tx and Rx module
  • Joy sticks (Pots) – (can be extracted from toy QuadCopter remote)
  • Servo headed pins
  • Telescopic Antenna

and tools like,

  • Hot glue
  • Soldering kit

Step 2: Working:

An RC module can transmit only digital data. This is either on or off. To transmit data of 4 channels PPM based signal are used. Arduino reads values from various pots of remote and generates PPM signal as per position of sticks. This generated signal is transmitted by Tx and Rx module. As Rx captures PPM signal it decodes it and separates all channel values. This data contains lots of noise that reduced by code.

There are two joysticks in the transmitter. Each joy stick has two potentiometers and each potentiometer has three pins. Upper and lower pins are for supply. A pin in-between these are for signal output voltage that varies from 0V to 3.3V.

So this transmitter has 4 channels.

Step 3: Making:

Firstly you need to find a transmitter/ remote to use a potentiometer. These are few example of remotes are shown that can be used. It must have working joysticks. Generally, all supply pins are shorted together so supplies do not need to provide to all these pins (it need to check and if not then, all these need to connect together manually). Four signal pins (from two joysticks) goes to Arduino which reads and converts the value to digital form. This code needs to upload in the arduino board at the transmitter side. An antenna required to have sufficient range. The length of the antenna can be calculated by the wavelength of transmitting frequency. Here I am using a telescopic antenna for my transmitter.

Header pins need to be soldered at receiver side as shown in circuit diagram. A wire also soldered as the antenna. This antenna is long compared to any 2.4 GHz antenna as this frequency has the higher wavelength.

after making it need to be checked, as everything is working ok or not. For that, we can give pulses to the transmitter side and check the output from the receiver. if both of this matching than everything is perfect.

Step 4: Code:

These are codes that need to be uploaded on the transmitter and receiving side.

f1=map(r1,m1,m2,50,120);
f2=map(r2,m1,m2,50,120);
f3=map(r3,m1,m2,20,175);
f4=map(r4,m1,m2,50,130);

these are the value that needs to be modified to upper and lower limit of the servo as well as zero point.

for example, f1=map(r1,m1,m2,50, 120);

50 is the lower limit and 120 is the upper limit. and average 85 is the zero point. to invert this channel it need to be changed to: f1=map(r1,m1,m2,120, 50);

Attachments

Step 5: Finally:

This transmitter is good enough for park flyers only as that has a range of 50m. So before flying anything check range of this Tx and Rx.

Here all pins can provide PWM signal too, by the slight change in code and can be used to drive brush motor.

Be the First to Share

    Recommendations

    • The 1000th Contest

      The 1000th Contest
    • Battery Powered Contest

      Battery Powered Contest
    • Hand Tools Only Challenge

      Hand Tools Only Challenge

    15 Discussions

    0
    James Awuah
    James Awuah

    8 months ago

    Ple we need the wiring diagram for transmitter and the receiver

    0
    JohnnyR73
    JohnnyR73

    Question 10 months ago

    Can I switch a phone receiver and transmitter with the RC airplane transmitter and receiver

    0
    JohnnyR73
    JohnnyR73

    Question 10 months ago on Step 5

    I have a lot of drones and bought a hobbico superstar ep , but lost my airplanes controller,, can I switch out my drones received with my planes received?

    0
    AnggaR7
    AnggaR7

    Question 1 year ago

    hi abhilash
    does this transmitter really output ppm, if yes can I install LRS with the transmitter of your project

    0
    EpicC
    EpicC

    3 years ago

    how would use it with a brushed motor

    0
    abhilash_patel
    abhilash_patel

    Reply 2 years ago

    Use motor driver like l293d and change the code in the channel you are connecting to the driver with analogwrite instead of servo.write

    This transmitted would be good enough for low duty applications.

    0
    YaddyVirus
    YaddyVirus

    Question 2 years ago

    Please properly document you code.. I cannot understand anything

    0
    abhilash_patel
    abhilash_patel

    Answer 2 years ago

    I think the code for Tx is straightforward, but you are facing difficulty in the receiver . Am I right?

    0
    EpicC
    EpicC

    3 years ago

    can you use arduino uno

    0
    abhilash_patel
    abhilash_patel

    Reply 3 years ago

    you can use any Arduino if weight is not an issue.

    0
    EpicC
    EpicC

    Reply 3 years ago

    thank you for the feedback

    0
    EpicC
    EpicC

    Reply 3 years ago

    also could you please add a code to drive a motor and two servos

    0
    abhilash_patel
    abhilash_patel

    Reply 3 years ago

    hello, the code uploaded would work with servo motors and ESC.

    1
    EpicC
    EpicC

    3 years ago

    please add the code for a motor and two servos