RF Transmitter (433MHz) without using an HT12E and receive it using an HT12D on the receiver side

Thread Starter

mahmoud_Adell

Joined Jan 29, 2025
7
I am trying to send data from an Arduino using an RF Transmitter (433MHz) without using an HT12E and receive it using an HT12D on the receiver side. I connected the RF Receiver to the HT12D, but the signal is either not received or not correctly decoded. I attempted to manually adjust the timing and analyze the signal, but I could not establish a stable connection.

What I Have Done:

  1. Used Arduino instead of HT12E to send data directly through the RF Transmitter.
  2. Ensured that HT12D is correctly wired on the receiver side.
  3. Tried adjusting the Pulse Width manually to match the expected timing of HT12D.
  4. Used a 51kΩ resistor between OSC1 & OSC2 on the HT12D to set the decoding speed.
  5. The Valid Transmission (VT) Pin on HT12D does not turn ON, indicating that the signal is not being correctly decoded.
What I Need Help With:

  • The correct timing settings so that HT12D can properly decode the signal coming from Arduino.
  • Any successful attempts or examples of sending data from Arduino to HT12D without using HT12E.
  • Whether there is a library that can simulate HT12E on Arduino to simplify transmission.
 

BobTPH

Joined Jun 5, 2013
11,463
I see nothing in there that specifies the protocol in anywhere near enough detail to duplicate. How are zero and one bits represented? What is the bit rate?
 

Thread Starter

mahmoud_Adell

Joined Jan 29, 2025
7
You're absolutely right! The datasheet doesn't explicitly define the encoding scheme in detail. However, based on my research and testing, HT12E uses a pulse-based encoding where:


  • The bit rate is determined by the oscillator resistor value (OSC1 & OSC2).
In my case, I'm using a 51kΩ resistor, which should correspond to a data rate of approximately 2.9 kbps (based on the typical timing of HT12E/HT12D pairs). However, since I'm trying to emulate HT12E using an Arduino, I'm looking for the exact pulse widths and timing to match what HT12D expects.

Do you have any insights or experience working with this protocol? Any help would be appreciated!
 

Thread Starter

mahmoud_Adell

Joined Jan 29, 2025
7

haven’t found a fully working example yet, but I’m currently experimenting with different pulse widths to match the timing expected by HT12D. Since HT12E uses pulse-position encoding, I’m trying to replicate that using Arduino’s digital output by generating pulses that mimic the original transmission pattern.
 
Top