4x2 Channel Remote Controller | RC Transmitter and Receiver
by PHYTION in Circuits > Remote Control
6818 Views, 98 Favorites, 0 Comments
4x2 Channel Remote Controller | RC Transmitter and Receiver
Hello, friends! I've developed a remote control system for controlling RC toys, robotics applications, Arduino projects, and other electronics ventures. This system allows you to individually manage 8 channels. I chose RF communication for the wireless medium to achieve a broad controlling range. The transmitter has been crafted with a professional appearance, and I've designed an exceptionally compact receiver that's adaptable for any application. Importantly, I opted not to use any microcontrollers for this project. Instead, I utilized common electronic components and readily available RF modules.
In this comprehensive tutorial, I'll guide you through creating this system yourself. I've included all necessary materials, such as 3D design STL files, PCB gerber files, circuit diagrams, and a foundational understanding of all components used in this project.
Heart of this circuit is HT12E encoder and HT12D decoder. The HT12E and HT12D are a pair of CMOS (Complementary Metal-Oxide Semiconductor) ICs designed for use in wireless communication systems. So, at the beginning, I will give you a sufficient understanding of the HT12E & HT12D ICs and how they work.
If you have any doubts or questions about this project, please leave a comment. I have also released a YouTube video related to this tutorial, which you can watch for a better understanding. I recommend watching the video segment corresponding to each step mentioned there.
Additionally, if you enjoyed this project, kindly leave a comment. Your feedback is greatly appreciated and means a lot to me for the effort I've put in.
Supplies
Items that we need
- HT12E encoder IC *2
- HT12D decoder IC *2
- TL072 IC *2
- 150 Ohms resistors *2
- 12K resistors *2
- 18K resistors *2
- 820K resistors *2
- 2.2K resistors *8
- 33K resistors *2 (All resistors are 1/4W)
- Toggle switch *1
- 3mm green LEDs *2
- LM7805 IC *1
- BC557 transistors *8
- 100uF 16V capacitor *1
- Breakaway Male Pin Headers
- SRX882 & STX882 RF module *1
- M3*4*4.2 brass hot melt insert nuts * 2
- M2*4*3.2 brass hot melt insert nuts * 4
Tools that we need
(These are all AMAZON affiliate links, which means if you purchase an item, I receive 4% of the product's value.)
3D printed parts
Function of the HT12E Encoder
HT12E Encoder Pin Diagram:
- VDD (Pin 18): Positive power supply (2.4V to 12V)
- VSS (Pin 9): Ground.
- OSC1 and OSC2 (Pins 15 and 16): Oscillator pins.
- TE (Pin 14): Transmission Enable. Active low.
- A0-A7 (Pins 1-8): Address pins.
- D0-D3 (Pins 10-13): Data inputs.
- DOUT (Pin 17): Data output.
How it works:
The HT12E is designed to convert 12 bits of parallel data into serial data so that it can be transmitted wirelessly or through wired connections.
- Input Data: It takes two type of input:
- Address bits: The address bits are used to ensure that the data is transmitted to the correct receiver in systems where multiple receivers are present.Typically, 8 address bits are used, allowing for 256 unique addresses.
- Data bits: These represent the actual information you want to transmit. Usually, 4 data bits are available, which can encode 16 different values.
- Oscillation: An external resistor is connected to the OSC1 and OSC2 pins to set the oscillator frequency, which determines the rate at which data is transmitted.
- Transmission Enable (TE): The transmission is enabled by setting the TE pin to low. When TE is high, the transmission is disabled, and the output remains high impedance, meaning it does not interfere with other signals.
- Encoding and Serialization: Once TE is activated, the HT12E encodes the address and data bits into a serial format. This includes synchronization bits, address bits, data bits, and a stop bit to ensure proper synchronization with the decoder.
- Output: The encoded serial data is then output from the DOUT pin and can be transmitted via RF or IR transmitter module.
Function of the HT12D Decoder
HT12D Decoder Pin Diagram
- VDD (Pin 18): Positive power supply (2.4V to 12V)
- VSS (Pin 9): Ground.
- OSC1 and OSC2 (Pins 15 and 16): Oscillator pins.
- DIN (Pin 14): Data input. Receives the serialized data from the transmitter.
- A0-A7 (Pins 1-8): Address pins.
- D0-D3 (Pins 10-13): Data outputs.
- VT (Pin 17): Valid Transmission. Goes high to indicate a successful data reception and decoding.
How it works
The HT12D is designed to receive the serial data transmitted by the HT12E, decode it, and recover the original parallel data. Here's its working principle:
- Input Data: The HT12D receives the serial data through its DIN pin. This data is expected to be in the format generated by the HT12E.
- Oscillation: Like the HT12E, the HT12D uses an external resistor connected to its OSC1 and OSC2 pins to set the oscillator frequency, which should match the frequency used by the HT12E to ensure proper decoding.
- Validation: Upon receiving the serial data, the HT12D first checks the synchronization bits and then compares the received address bits with its own address pins. If the addresses match, the decoder proceeds to decode the data bits; otherwise, it ignores the data.
- Decoding: Once the address is validated, the HT12D decodes the serial data back into the original 4 data bits and presents them on its output pins.
- VT (Valid Transmission) Pin: The VT pin goes high to indicate a valid transmission has been received and decoded. This can be used to trigger further actions in the receiver circuit.
HT12E & HT12D Working Demonstration
Single HT12D configuration
- At the first, HT12E and HT12D are set to the same address. So LEDs light up.
- After changing the address of HT12E, receiver does not respond to the transmitter signals.
Two HT12D configuration
- Initially, the first HT12D IC and HT12E are set to the same address. So LEDs connected to IC1 lighting up.
- Then, the addresses of the second HT12D IC and HT12E are matched. So, LEDs connected to IC2 lighting up.
- Finally, the address of the HT12E does not match with any others. So no LEDs light up.
Watch this video segment to get proper understand about this.
Make the Transmitter Circuit
- Here I used two HT12 Encoders with two different addresses.
- The toggle switch is used to power up one IC at a time.
- Two LEDs are stand for indicate the power ON moment.
- Here I used two TL072 ICs to capture the end positions of Joystick modules.
TL072 IC is a high-speed dual Op-Amps integrated IC.Here I have used this op-amp in saturated mode as a comparator.
- Here I used STX 882 RF transmitter and SRX 882 RF receiver for wireless communication. They have a good controlling range.
The STX882 is a compact, high-power RF transmitter module designed for various wireless applications operating at the 433 MHz frequency band, which is commonly used for short-range communication in devices like remote controls, RFID systems, and telemetry. It is known for its small size, low power consumption, and high stability, making it an excellent choice for implementing in systems requiring reliable wireless communication. The module can be easily interfaced with microcontrollers and is capable of transmitting data over considerable distances under clear line-of-sight conditions.
Make the Receiver Circuit
- In the receiver circuit same addresses are used like transmitter.
- Here I used BC577 PNP Transistors as switches and NOT gates.
- Working voltage of HT12E and HT12D is 2.4V to 12V. But working voltage of SRX882 and STX882 RF is 5V .So I power up the circuit in 5V using LM7805 voltage regulator.
- You can obtain 5V signal from the output pins.
- Here I used SRX 882 RF receiver for wireless communication.
The SRX882 is a high-sensitivity RF receiver module designed for the 433 MHz frequency band, widely used in a variety of wireless communication applications. Its notable features include low power consumption and excellent sensitivity, making it an ideal choice for receiving data over considerable distances, even in environments with significant noise.
Design the Transmitter and Receiver PCBs
- I used EasyEDA to design my PCBs. After spending some time with it, I found this shape to be the most suitable for Transmitter.
- Then, I proceeded to design the receiver circuit. My goal was to keep the receiver PCB as small as possible. Eventually, I achieved a simple shape with these dimensions.
- Next, I exported the Gerber files for both PCBs and uploaded them to PCBWay for fabrication. PCBWay is the world's leading PCB manufacturing company, providing high-quality services at reasonable prices.
- Gerber Files of the PCBs : Download (How to download: see the figure 04 , After downloading, unzip it. You will find two ZIP files: one for the Transmitter PCB and another for the Receiver PCB. Upload these two ZIP files separately to the PCB maker's website.
Unboxing the PCBs
After uploading the Gerber files to PCBWay, I received my package a few days later. Everything was fine, and the PCBs are of excellent quality.
Also, Thanks to PCBWay for sponsoring the PCBs for this project.
Assembling the Transmitter PCB
- Solder all the components labeled on the PCB.
- When You solder the toggle switch, pay attention to keep it vertically.
- Do not directly solder the ICs to the PCB; use an IC base for this purpose.
- If you cannot find joysticks, you can obtain them by desoldering from Arduino joystick modules.
- When soldering the joystick, make sure to avoid any gap between the PCB's top surface and the component's bottom surface. If there is space, the PCB will not fit properly within the enclosure.
Designing an Enclosure for Transmitter
First, I exported the 3D model of the transmitter PCB. Then, I uploaded it to Fusion 360 and projected the boundaries onto the sketch plane. After performing numerous operations and several trials and errors, finally I reached to this design. This design will be comfortable in our hands and fit well.
Finally, before 3D printing, I conducted a sectional analysis to ensure everything was okay.
3D Print the Enclosure
Then, I exported the STL files of the design for 3D printing. Then I opened them with the Cura slicer, setting it up as follows. Mainly, I set the layer height to 0.2 mm for a standard finish, but if you desire better finishing and surface quality, try a smaller value. I set the infill density to 100%, enabled supports, and chose the tree structure for the support because it is easy to remove.
After spending about 15 hours on 3D printing, I obtained my enclosure. The 3D print left some parts unfinished, so I have to perform several finishing operations to achieve that level of completion.
Fix the PCB With the Enclosure_Part 01
I designed to fix the PCB with the enclosure using M3 screws, thus I inserted M3*4*4.5 brass hot melt insert nuts into the supports. Similarly, I intended for the enclosure halves to be joined using M2 screws, so I inserted M2*4*3.5 brass hot melt insert nuts into the columns.
Before fix the PCB, cut the terminals near to the screw supporter.
Fix the PCB With the Enclosure_Part 02
Now all we have left to do is the power supply part. Here, I inserted the switch and created this simple circuit inside the enclosure.I added two indicating LEDs separately, but you don't need to do this. In my new PCB design, I have placed two LEDs on the PCB, and they correctly align with the enclosure holes.
I placed 1mm diameter holes for the battery cover. It is difficult to create such a small feature using a 3D printer, so we should manually make the hole.
For better understanding, watch this part.
OK. Our Transmitter is finished.
Assemble the Receiver PCB.
- Solder all the components labeled on the PCB.
- Do not directly solder the ICs to the PCB; use an IC base for this purpose.
Testing and Application
Here, I simply created this circuit to test the system. I connected all the LEDs' negative terminals and then connected them to the ground pin through a 150-ohm resistor. Now, I've connected the LEDs' positive terminals to each channel. You can power this up with any voltage between 6V and 30V.
When you first power up the receiver, all the LEDs will light up. To fix this, power on the transmitter and toggle the channel selection switch left and right. Now, it is ready to transmit data. Using this toggle switch, you can switch between the first 4 channels and the second 4 channels.
watch this part to understand the capability of this RC system.
If you want to watch the full YouTube Video, Click here
____________________________
If you enjoyed this tutorial, please consider subscribing to my YouTube channel and following me on other social media platforms. I will keep you updated on my future projects. Your support means a lot to me and greatly encourages my continued efforts.
________________________________
Thank You! -PHYTION