Introduction: Radio Frequency Cloning

Chapter 3:

This is the third chapter of a big series of domotics experiments. In this case, we will be using an Arduino and RF receiver to clone the signal emitted by a remote control. In my case, I had a series of lights that I turn on and off using this remote control. The idea is to clone the signals to be able to send them through an RF emitter and activate the sending from everywhere. For example a computer. So let's get started.

Step 1: Past Work

As I stated in the intro, the objective of all these experiments is to obtain control over every possible device. So check my works, if you like, to get a glimpse of what is going on.

Chapter 1:

Coning infrared signals.

Chapter 2:

Emitting the cloned signals.

Step 2: Stuff

For this work, we will be needing an Arduino Uno or Arduino Nano (Should be working with every Arduino, I have been testing this with Uno thought... mostly).

And of course RF receiver and emitter modules. They usually come together and you can buy it a very low price.


Bear in mind that it comes in two 'flavors' 315MHz and 433MHz. My control works in the 433 range so I bought that one. Make sure to know what frequency you will need. You can know this by opening the remote control and checking the emitter. The frequency should be printed in the metal circle shape component (check the picture of the emitter).

Step 3: Connections

As you can see is very easy to connect. check the diagram and you won't miss a thing. Ground to ground, VCC to 3.3 volts (this is important won't work with 5 volts). And the data pin to analog 0 in the Arduino (A0). Now, if you haven't noticed yet you have two pins for data. Not sure why is that but it should be the same. If it doesn't work with one just test with the other.

Step 4: The Sketch

Well, this is not the best sketch ever, that's for sure, had little time to make it better, but it worked for me. And am sure that it will work for you too. Won't be using any library since none of them worked for the remote that I had. You will be getting a signal like this.



As you can see is not that different from the infrared signal. each pair of numbers represents times of low and times of high value. We won't be needing the 0 and 255. That means that the signal ended.

Two or three things to bare in mind:

  1. The baud rate is set to 115200 so you will have to set the serial monitor as well. Won't get any readable output otherwise.
  2. The code, as I said, is not the best, so maybe it won't work at once.
  3. You will have to play around with the thresholds (upper threshold, lower threshold than 80 and so).
  4. Even maybe with the delays.
  5. To test the functionality you will have one chance when you open the Serial Monitor. Since the code is written in the setup (sorry about that).
  6. The receiver is very sensible, not sure if you can modify that. so occasionally it will be capturing signals form elsewhere. So open the Serial Monitor and press the button.
  7. It is likely that you won't get a good signal at once. Do not get frustrated, give several tries. Often the best signal is the largest so copy them and compare it.

Sorry 7!!! lol

Since this is only to clone the signal I don't think it worth taking more time to perfect it. But if you come up with a better code please let me know. It worked for me I could clone each button. Store the signal and test it with the emitter. No worries I will be posting the emitter instructable very soon so you will be able to test the signals.

Step 5: Check Next Chapter