Projects > Hardware Projects >

RF Remote Controller for L298 Motor Driver with HT12E & HT12D

This is a 4 channel RF remote controller and motor driver circuit for controlling a four wheel ground rover. I designed this for my own four wheel ground rover. The remote controller is based on HT12E and HT12D, 212 series encoder-decoder pair from Holtek semiconductor.The RF communication is made possible by 433MHz ASK transmitter-receiver pair. The motor driver is based on the L298N, which is a 2 A dual H-Bridge IC from ST microelectronics.

The HT12E is a 12-bit encoder and basically a parallel input-serial output encoder. Out of 12 bits, 8-bits are address bits which can be utilized for controlling multiple receivers. The pins A0-A7 are the address input pins. The oscillator frequency should be 3 KHz for 5V operation. Then Rosc value will be 1.1 MΩ for 5V. I used 9V, and therefore the Rosc value is 1 MΩ. AD0-AD3 are the control bit inputs. These inputs will control the D0-D3 outputs of the HT12D decoder. You can connect the output of the HT12E to any transmitter module that accepts serial data.

The HT12D is a 12-bit decoder which is a serial input-parallel output decoder. The input pin of the HT12D will be connected to a receiver which has a serial output. Among the 12-bits, 8 bits are address bits and the HT12D will decode the input if only it matches its current address. This is useful if you want to operate many devices in the same frequency. You could use an 8 pin DIP switch for setting the address value. But I soldered them directly to GND. The HT12D is here operated at 5V and the Rosc value is 470 Ω.

That's all about the encoder-decoder pair. Following are the block diagram and schematic diagram for remote controller with four control buttons: Left, Right, Forward and Reverse.
Remote controller block diagram
Remote controller schematic diagram

You may wonder why I used the logic gates after the control buttons. It is because I want to drive the four motors in differential mode. Following is the connection diagram for a differential drive of four DC motors using L298N.
Motor driver interface

Here, when I press the Left button, I want M1 and M2 to run in a direction opposite to that of M3 and M4 and same for Right operation. For Forward operation, all the motors will have to run in the same direction. Therefore we just need not only one pin to control but four at the same time. This can not be achieved by SPST push buttons which I've got, unless you have some SPDT switches or a joystick. You'll understand this by looking at the following schematic diagram.
Receiver and driver schematic
Receiver and driver block diagram
L298 pinout diagram
L298 logic inputs

As you can see from the above figures, we can not directly pull the inputs in the desired manner just with SPST push buttons. This is where the logic gates come into play. One 4069 CMOS NOR and one 4077 NAND form the logic driver. The output of these logic gates are connected to the inputs of the HT12E and sent serially through the transmitter. Upon receiving the signal, the HT12D will decode the signal and pull the the output pins accordingly which will then drive the L298N and the motors.

Following are the boards I built. Also, don't forget to add fly-back diodes with the motor driver because I haven't shown that in the schematic.  Use bypass capacitors anywhere you feel suspicious. 

L298 motor driver

L298 motor driver solder side

Remote controller board

Remote controller board solder side

Finished remote controller

My four wheel ground rover

To see how I built my first ground rover, go to the original post. If you have any doubts or suggestions please send it to my email.


Date published : 2:56 PM 24-04-2015, Friday
Last updated : 8:33 PM 31-03-2016, Thursday


  1. RC Four Wheel Ground Rover - How I built the rover