RF 315/433 MHz Transmitter-receiver Module and Arduino

Picture of RF 315/433 MHz Transmitter-receiver Module and Arduino
RF Module 017.JPG
Hi every body , I searched on Instructables about a simple RF Transmitter-receiver module , Which is used in Remote control for cars , or to control simple tasks , like control relay on/off unfortunately I didn't find What I need   , So i decided to write a simple artical about this transceiver and How we can connect it with arduino  and program it .


at first let's take a look for what we need :

1)  2 Arduino Board "I used Uno" 

2) RF 315MHz or 433MHz transmitter-receiver module .

3) jumper wire .

4) BreadBoard .

5)External Power supply (9V Battery *2) "Optional" .

Remove these adsRemove these ads by Signing Up

Step 1: Module Specification

This module has a specification for :

Transmitter : 

Working voltage: 3V - 12V  fo max. power use 12V
Working current: max  Less than 40mA max , and min 9mA
Resonance mode: (SAW)
Modulation mode: ASK
Working frequency: Eve 315MHz  Or  433MHz 
Transmission power: 25mW (315MHz at 12V)
Frequency error: +150kHz (max)
Velocity :  less than 10Kbps

So this module will transmit up to 90m in open area .

Receiver :

Working voltage: 5.0VDC +0.5V
Working current:≤5.5mA max
Working method: OOK/ASK
Working frequency: 315MHz-433.92MHz
Bandwidth: 2MHz
Sensitivity: excel –100dBm (50Ω)
Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)

 the use of an optional antenna will increase the effectiveness of your wireless communication. A simple wire will do the trick.

Step 2: Schematics

Picture of schematics
the connection for this module is very easy .

for Transmitter :

Vcc >>>>5V
ATAD>>>D12"You can change it as you like from Software" .
Gnd >>> Gnd

Receiver :

1-40 of 64Next »
jarvanI4 days ago

Hello. Can I use this to trigger a relay?

hi, what would it take, if i have to use multiple transmitter to one receiver, how would you go about doing this? thx

imsanaga1 month ago

Can you please help obtaining Eagle part library for the 433mhz module ? I am learning work on PCB. Thanx !

Hello! This part is attached using simple pin headers from pinhead.lbr. I think you won't need any special Eagle part since this module is not solderable

kasisnu made it!28 days ago

Thanks! This was helpful!

gsandhu21 month ago

I’m working on a project which is about making a rescue
robot . I have struggling with it for 4 months and now all the mechanical works
had been done . but I’m facing difficulty in make the robot to work with rf
module can u plzz help me…

I want make transmitter and receiver that can control the
motion…I mean that receiver should have control 8 dc gear motor and each dc
motor should have a forward and backward botton to control the motion ……can u
kindly help me with this project ….if u can make the circuit board diagram for
the PCB ….or any other suggestion plz reply……mail me at “”

Can i use the VirtualWire library and the Servo library in a same program ??

I tried it using both in same program, but it is giving some error. Plz help.

Servo\Servo.cpp.o: In function `__vector_11':

E:\G Work\arduino-1.0.5\libraries\Servo/Servo.cpp:103: multiple definition of `__vector_11'

VirtualWire\VirtualWire.cpp.o:E:\G Work\arduino-1.0.5\libraries\VirtualWire/VirtualWire.cpp:568: first defined here

deji1 month ago

Hi , can you help me please, when i compile the program for Transmitter I get "vw_set_ptt_inverted" was not declared in this scope. What I am doing wrong .Thanks

zcui deji1 month ago

try this downlaod it worked for me and try to import it in zip form

deji zcui1 month ago
It works , thanks is very usefull
arakib1 month ago

This library works.....!

R-A2 months ago

Can this be used to transmit data? i.e. let's say I have an Arduino with some sensors in a remote location, say 100m away, and I want to know what the sensor values are from another arduino, can I use this kind of setup?

yes, good signal 70m

it's possible create a 433 mhz jammers? i try but it's very difficoult!

mde roxas2 months ago

Help me, I need to control 2 Servo motors tru wireless. I bought a pair of RF receiver-transmitter. But I don't know how will they communicate? I need some guide guys

u9712 months ago

Awesome was looking for some info on how to set up the exact same RF devices...thank you!

Jan_Henrik2 months ago

Doog instructable, useful!!

jimdsouza2 months ago

Can i use one arduino for both receiver and transmitter? I need to use it as an emergency vehicle detector for my traffic control project.

Folks, here's a useful link and an update on what I (and others) have done to extend range. The ninjablock has an arduino inside using the same module (I believe) descibed here....

c0love3 months ago

I am looking to see if one of these transmitter modules can be used to replace an RF remote (for a remote controlled power outlet). Is it possible for these types of transmitter modules to receive any RF signal and capture what the RF code is so you can then use that RF code in the Arduino code to transmit it?

There are learning RF power outlets that can be programmed to any RF code and I would like to be able to control more receivers than the RF remote has buttons to control.

Thanks for the Instructable!

c0love3 months ago

Here is a direct link to the VirtualWire 1.14 library

Raphango made it!3 months ago

Yay! \o/

Thank you! Got this working for myself!

Alaa inv5 months ago

sketch_feb19e.ino: In function 'void setup()':

sketch_feb19e:10: error: expected `(' before 'vw_set_rx_pin'

sketch_feb19e:11: error: 'vw_setup' was not declared in this scope

sketch_feb19e:14: error: 'vw_rx_start' was not declared in this scope

sketch_feb19e.ino: In function 'void loop()':

sketch_feb19e:18: error: 'VW_MAX_MESSAGE_LEN' was not declared in this scope

sketch_feb19e:21: error: 'buf' was not declared in this scope

sketch_feb19e:21: error: 'vw_get_message' was not declared in this scope

mpring Alaa inv5 months ago

I've encountered that same problem too. Then I figured that there is a problem in the current VirtualWire. You have to download the old virtual wire and replace the one you have. It will work as soon as you put it in the library and restart arduino. I forgot the link but the name of the file is, "". Just search it if you want.

lhäuser1 mpring4 months ago
Library is probably not installed correctly. see here for more details:!topic/tronixstuff/JFvspcw6vIc
Alaa inv Alaa inv5 months ago

vw_set_ptt_inverted(true); // Required for DR3100

vw_setup(4000); // Bits per sec


Alaa inv Alaa inv5 months ago

vw_set_ptt_inverted(true); // Required for DR3100

vw_setup(4000); // Bits per sec


Alaa inv Alaa inv5 months ago

vw_set_ptt_inverted(true); // Required for DR3100

vw_setup(4000); // Bits per sec


mnc4 months ago

question: how many modules can work at the same time without interference?

Druv5 months ago

Hi everyone

Actually I am doing a small project by using arduino. I want to measure the water level by using the ultrasonic sensor HCSR 04. Then I want to transmit the data via rf 433 MHz transmitter to a receiver. Can anybody help me to write the code for the transmitter and receiver? Thanks you

sekarganesh935 months ago

i wanna send different kind of text message through rf like "wanna meet you' & "please come to my office" , by using receiver side lcd (2*16) how to do that help me mohannad

karti5 months ago

can you control 2-4 Led's with only one set of rf 350 mhz transmitter and receiver modules?

ya it's possible by using of simple encoder and decoder circuits .....

palatis karti5 months ago

sure why not. you can send a byte number instead of character '0' and '1', and turn led on/off.

digitalWrite(D13, buf[0] & 0b00000001 ? HIGH : LOW);
digitalWrite(D12, buf[0] & 0b00000010 ? HIGH : LOW);
digitalWrite(D11, buf[0] & 0b00000100 ? HIGH : LOW);
digitalWrite(D10, buf[0] & 0b00001000 ? HIGH : LOW);
digitalWrite(D9, buf[0] & 0b00010000 ? HIGH : LOW);
digitalWrite(D8, buf[0] & 0b00100000 ? HIGH : LOW);
digitalWrite(D7, buf[0] & 0b01000000 ? HIGH : LOW);
digitalWrite(D6, buf[0] & 0b10000000 ? HIGH : LOW);

control up to 8 leds in 1 single byte.

karti palatis5 months ago
Oh, I did't know that, just a request could you send me the code, PLEASE. I can save up to 1000 on my project!!
PLEASE, thanks a LOT
karti5 months ago
maybe on my email:
karti5 months ago

hi guys, you know that you don't need such a complicated code,

if you just had something like the blinking LED code and you don't put the recover into input and you don't need to tell the Arduino that you are using transmitters and you connect the transmitters and recivers to the output pin you are useing, IT WORKS!!

Rowdyrobs made it!5 months ago

Thank you!

Mohannad Rawashdeh (author)  Rowdyrobs5 months ago

So nice , You are welcome

penang17 months ago
hey help i got error in compile

transmitter:23: error: 'vw_set_ptt_inverted' was not declared in this scope
what should i do,help please.....
1-40 of 64Next »