Pages Menu
Categories Menu

Posted by on Dec 20, 2012 in Electronics, Robotics | 193 comments

Making an RF Car

Making an RF Car

RF controlled bot

This is an article written by a one of my readers, Yash Tambi, Core Committee Member, roboVITics. Do read this post and pitch in your comments below regarding this. Thanks!

Now a days, we see many remote controlled cars and robots, but, ever thought of making one?

RF controlled bots are the most simple of their kind. All you need are a few ICs, which are easily available in the market, a 433Mhz Transmitter and Receiver module, and the usual wires, resistors etc. Theoretical information related to this can be found in this post, where Mayank discussed about RF module interfacing.

Items required for making an RF car

Items required for making an RF car

The ICs we will be using are

  • LM7805 as voltage regulator
  • HT12D, HT12E for wireless control
  • L293D for driving motors

Before making the circuit permanent, it is always better to make it on a solder less breadboard and check for any rectifications in the circuit if needed.

Using the 7805 – 5V Voltage Regulator

Using the LM7805 IC is quite simple. It is used to convert the input varying supply (usually 9-18 volts) to a stabilized 5 volts supply, which is used to drive the circuitry.

LM7805 Pins

LM7805 Pins

Using the L293D – Motor Driver IC

We start with the L293D. L293D is a popular motor driving IC. It is a 16 pin IC. The IC has 8 pins on both the sides. It has 2 enable pins, 1 VSS pin, 1 VS pin, 4 ground pins, 4 input pins and 4 output pins. Though not required here, but in case you wish to learn how to interface L293D with a microcontroller, you could refer to this post by Mayank.

Following is the pin diagram of L293D –

L293D Pin Configuration

L293D Pin Configuration

The descriptions of the pins are as follows:

  1. Enable – the enable pins, when are given true, (i.e. 1) then they enable the respective part of the IC. The enable 1 chip enables the Left part of the IC for inputs and outputs, and so does the Enable 2 does to the right part of the IC.
  2. VSS – this pin is to be given an input of 5 volts. This is used to power up the chip for its operations.
  3. VS – this pin is given the voltage that we have to supply to the motors. This voltage comes out through the output pins. Due to the gates used in the IC, the output is usually 1.8 to 2 volts less than the Vs.
  4. Input – the input pin decides whether output has to be given to he respective output pin or not. When the Input is true, then output is also 1 in the respective output pin. When input in the Input pin is 0, and then output in the respective output pin is also 0.
  5. Output – the output pin is connected to the terminals of the motor. The input pins, as stated above, control its output.
  6. GND – these pins are the ground pins, or, in other words, Zero.

Note – When no input is given to the inputs pins (i.e. they are left floating) or 1 is given, there is an output from the output pins. Its only when 0 (ground) is given to the inputs, when the output is zero for the corresponding output pin.

The L293D IC can be used to control a maximum of 4 motors simultaneously. When 4 motors are connected to the IC, then for operation, -ve of each of the motors is connected to the GND, and the +ve terminal to the outputs. For bidirectional control, you can connect only two motors simultaneously as per the circuit diagram below:

L293D Based Motor Driver

L293D Based Motor Driver

This is how the circuit looks when soldered on a PCB —

L293D Motor Driver Circuit Soldered on PCB

L293D Motor Driver Circuit Soldered on PCB

Using the HT12D and HT12E for Wireless Control

HT12E Encoder

The next IC is HT12E. The HT12E is an encoder. It converts digital signals into suitable form to be transmitted through EM signals. It is an 8-bit Encoder. The HT12E is usually used for 433 MHz wireless modules. It is an 18 leg IC.

The pin configurations are as follows:

  1. HT12E Pin

    HT12E Pin

    A0: 7 – these are the address pins.

  2. GND – this is the ground pin. This pin should also be connected to the –ve of the battery.
  3. Vcc – the VCC pin is where we need to supply the input voltage for the working of the encoder. It is used to power the IC.
  4. Osc1: 2 – these pins are the oscillator input and output pins. For the ordinary circuit, they are connected to each other with the help of an external resistor.
  5. TE – this is the transmission enable pin. When this is given true, then data transmission starts.
  6. Output – this is an output pin. The data in EM signals is given out from this pin.
  7. AD0: 3 – these are the data/address pins.

Note – How does a transmitter know to which receiver it has to send the signal to? It depends on the configuration of the address pins on Both the ICs. For the Tx-Rx pair to work, they should have the same configuration of the address pins.

The address pins can either be grounded, or can be given Vcc individually. So the corresponding pins on the Tx and Rx have to have the same configuration.

You can also use a gamepad for the inputs. Remember, gamepads are designed to be active low in configuration i.e. when you press a key in the gamepad, it sends out ‘0’ and when left floating, it gives ‘1’.

HT12D Decoder

The next IC is HT12D. The HT12D is a decoder. It decodes signals into suitable form to be transmitted through EM signals. It is an 8-bit Encoder. The HT12D is usually used for 433 MHz wireless modules. It is an 18 leg IC.

HT12D Pin

HT12D Pin

The pin configurations are as follows:

  1. A0: 7 – these are the address pins.
  2. Vss – this is the ground pin. This pin should be connected to the –ve of the battery.
  3. VDD – the VCC pin is where we need to supply the input voltage for the working of the encoder. It is used to power the IC.
  4. Osc1: 2 – these pins are the oscillator input and output pins. For the ordinary circuit, they are connected to each other with the help of an external resistor.
  5. DIN – this is the Data input pin. The data input from the receiver module is fed in this pin.
  6. VT – this is an output pin. This pin gives the output as soon as any signal s received by the receiver.
  7. D8: 11 – these are the data pins.

Now a natural question arises… Why can’t we directly use the output pins from the decoder to run the motors instead of  using another IC?

Following are the reasons —

  1. Through L293d, we can give the desired voltage output to the motors.
  2. The output from the decoder has a very low current output, which is insufficient to drive the motors.

The output pins of the decoder are good only to be used as switches.

Note For coupling of two ICs, they have to be commonly grounded to the same source, otherwise they will not work.

Designing the Transmitter Circuit

  • As stated above, the address pins can be configured as per choice.
  • The Ground pin needs to be grounded.
  • The Vcc pin needs to be given regulated 5 Volts.
  • The output pin is connected to the data pin of the Tx module.
  • To enable transmission, the TE pin is grounded.
  • Resistors of 1.1MΩ are connected across Osc1 and Osc2 pins.
  • Pull-up resistors of 100KΩ are connected across D8, D9, D10, D11 pins. The other end of the resistors may be either grounded, or given 1, or left floating depending upon what we want as the default value from the output pins of HT12D.
  • Suppose we ground the resistors’ other ends, then, by default, all the output pins in the HT12D will receive 0, and similarly vice-versa.
  • Switches may be used in between the data pins and the resistors.

You can also refer to this circuit diagram —

RF Transmitter Section

RF Transmitter Section (Click to Enlarge)

Designing the Receiver Circuit

  • The address pins must be given the same configuration as of those given in the transmitter circuit.
  • The VSS pin is to be grounded. Similarly, a 5v regulated output should be given to the VDD pin.
  • The D8, D9, D10, D11 are the outputs corresponding to those in the transmitter circuit.
  • A resistance of 51KΩ should be applied across Osc1 and Osc2 pins.
  • The data output from the receiver module is to be connected to the DIN pin.
  • The VD pin gets ‘on’ whenever the receiver receives a signal. It may be left unconnected.

You can also refer to this circuit diagram —

RF Receiver Section

RF Receiver Section (Click to Enlarge)

Upon soldering on a PCB, the circuits look like this —

RF Receiver Circuit Soldered on PCB

RF Receiver Circuit Soldered on PCB

Tire and Motor Selection

Now coming to tire and motor selection. This is a very basic bot, and thus one can use any tire or motor of their choice! :)

And it’s done!


My finished bot looked like this!

Final RF Bot

Final RF Bot


And that’s it for now! Any kind of queries and discussion, please leave a reply below and I will be more than happy to get back to you! :) You can also subscribe to maxEmbedded for more interesting articles!

Thank you.

Yash Tambi


  1. Hi thanks for the nice stuff you have posted. What do i need to do if i want toadd sensors and servos in the above bot. I would like the bot to take judgement on its own in case of collission. Thnks in advance

    • For sensors and servos you would need to install a microcontroller on your robot as well.

      • sir can you please help me just to get the values of the encoder in transmitting side

        on the serial monitor of arduino connected on the receiver end

        • If you’re using Arduino to decode data on the Rx end, then you’ll need one on the Tx end as well.

      • for adding the micro controller on the receiver end i need to know the values what the rf is transmitting can you please help me with that

        • You’ll need a microcontroller on the transmitting end as well. Use a serial protocol (like UART) to send/receive data using the RF modules.

      • sir, How You are entering the 4bit or 8bit data i am not geting that and i am thinking about the use of 8051 microprocessor or arduino.can i give the data without any microprocessor or arduino.plz help me.

  2. can i know why the microcontroller does not interface with decoder. Its like when i press the button, the decoder read the signal but when i put the microcontroller at89c51, there is no signal available. can you solve the problem?

    • If you want to use microcontroller as your decoder, you would require to use one for encoding as well. Makes sense?

  3. Hi sir. I m a very beginner to electronics and i love it like anyrhing.

    Whats my doubt is you did not use motor driver ic to make connection. I mean you use transmitter and reciever for transmitting.

    You also used 4 leds in reciever part with resistors. My question is if i want to use motor do i need to take out led and resistor and connect motor output 1,2,3,4 of l293d to the reciever part.

    Am i right sir. Or i have messed up with anything. Could you please tell me sir.

    Thanks in advance.

    With regards
    Nandhu M

    • The connections for the motor driver are given above. Thank you.

  4. thank for uploading,nice project .. i wanted to know whether can i use a thumb joystick without the switches,does the circuit works for linear throttling instead of on and off.

    • The joystick gives you an analog output. You’ll need to first convert it to digital, and then transmit the digital data serially.

  5. Hello sir
    I am using atmega 32, but sir problem is, output of atmega is not 5v, its about 1.65v or less. Which is not driving l293d, hence no output as motor rotatation.
    And also some pins are leaking voltages. I have changed the controller too.
    Sir plz,help soon, its my final year project.

    • I think u can use ULN IC

  6. And one,more thing,sir
    When I make controller’s pin simply output high it gives 5v, but when I used switch on other pin to make that former pin high it gives 1.65 v.

    • I don’t know what’s going on. Probably it is due to loading effect. Is it 1.65v when the pin is left open?

    • Also how are you testing it? Is it on a breadboard or on a PCB? Circuit parasitics could also be responsible.

  7. Please show clearly how to connect switches-encoder-transmitter and receiver-decoder-driver. I know how to connect driver with motors. I use:
    Encoder:HT12E ic
    Decoder:HT12D ic
    Driver:L293D ic
    Please tell the info about transmitter and receiver. If its very necessary to add ressistors and voltage regulator then only show that. Please reply because my holidays after boards are going on and I want to make a RC car.

    • I know I am late in responding to this, but you should learn how to ask questions properly without being rude. Good luck.

  8. Please tell me the website from where I can buy these components

  9. hey max if i want to control 2 receivers by single transmitter,can i control it by changing the value on the address port of single encoder by using microcontroller?

  10. Hai bro !! I used l293d motor driver bt i am getting very low output motors are rotating very slowly !! What should I do?

    • instead of using 5volt input switch ,try 12volt

  11. Sir, What are the specifications of the diodes in the receiver circiut

  12. Can I use PWM signals in the four data pins of HT12E? I mean for linear throttling and servo control. Thank you.

    • Hi Ritam, Did u get an answer to ur question? I’m also wondering if this IC can take a pwm signal like from adc, 555 timer in my case.. So I can have a Pot – 555 – Ht12e – 433rf TX – 433rf RX – Ht12d- L293D- Motor Proportional control..

      Do mail me on

  13. Hi sir

    My question Is weather its possible to communicate
    1Tx of (A) unit
    Mutiple Rx unite like
    (AX) (AY) (AZ)…

    Plz reply hope my msg is clear. .
    Your FAN

    • Give it a shot!

  14. Sir, Is it possible that if there are 2 RF modules(Rx-Tx Pair) of same frequencies are present then they will disturb to each other or not?
    Sir, I want to make a wireless bot for robotics competition so please suggest me what should I do ?

  15. good website Mr.mayank or max whoever u r
    i have a doubt

    i am using a switch at transmitter side while arduino at reception
    so my doubt is,shall i connect receiver data out pin to arduino directly (without decoder ) ?
    if yes then what should i do to address pins of encoder

  16. what if i want a high speed and high torque motor how i select that

    • Google: “high speed high torque dc motor”

  17. sir can we use ht12e and ht12d ics for 8bit data trans

  18. What about antenna?? How to connect it?

    • Just connect it to the antenna pins on the RF module.

  19. How can I be sure that the transmitting remote is transferring the data?

    • Take out your multimeter and probe the antenna pin of the transmitter. If it shows any activity, it means it is transmitting. Use a logic analyzer to be more accurate.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: