Introduction: Wireless Communication Arduino RF

Picture of Wireless Communication Arduino RF


433Mhz  RF Transmitter + Receiver Module Link Kit will allow us to connect two Arduinos and that can communicate. Data you send on computer Transmitter show on Arduino Receiver screen.

Final result video  ---


    Receiver module parameters

    Product Model MX-05V
    Operating voltage: DC5V
    Quiescent current: 4mA
    Receiving frequency: 433MHZ
    Receiver sensitivity:-105DB
    Size: 30 * 14 * 7mm
    An extra antenna is needed, please use spiral 50Ω a quarter wavelength antenna

    Technical parameters of the transmitter head

    Product Model: MX-FS-03V
    Launch distance :20-200 meters (different voltage, different results)
    Operating voltage :3.5-12V
    Dimensions: 19 * 19mm
    Operating mode: AM
    Transfer rate: 4KB/s
    Transmitting power: 10mW
    Transmitting frequency: 433M
    Pinout from left to right: (DATA; VCC; GND)

Step 1:

Picture of

You will need for this project:

Arduino Uno

Arduino Pro MINI (you can use Uno instead of Pro MINI if you want)

WH1602 or HD44780 16x2 Character LCD Display

433Mhz or 315Mhz RF Transmitter + Receiver Module Link

Prototype BreadBoard 830 tie points

male-to-male cables

male-to-feemale cable

10k potentiometer

3.7V battery

Step 2:

Picture of

How to upload sketches on Arduino Pro MINI.

    Remove Atmega328 from Arduino UNO
    Using male-to-female cables connect Pro MINI to UNO RX-RX; TX-TX; RST-RST; GND-GND; VCC-+5V
    Change in Tools-Board-Arduino Pro or Pro MINI
    Upload sketch

Step 3: Receiver Code

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
char cad[100];
int pos = 0;
void setup()
lcd.begin(16, 2);
lcd.setCursor(1, 0);
void loop()
byte buflen = VW_MAX_MESSAGE_LEN;
int i;
if( vw_get_message(buf, &buflen) )
if(pos < 2)
lcd.setCursor(0, pos);
for (i = 1; i < buflen; i++)


Step 4: Transmitter Code

char cad[100];
int i=0;
void setup()
Serial.print("End with \".\" each data");
void loop()
if( Serial.available() > 0)
cad[i] =;
if( cad[i-1] == '.')
cad[i] = '\0';
vw_send((byte *)cad, strlen(cad));

Step 5: Receiver Scheme

Picture of Receiver Scheme

Step 6: Transmitter Scheme

Picture of Transmitter Scheme

Step 7:

Picture of
Print any message to the Serial Monitor window. End with point ".'

Press Enter.


Thats my video with final result: (too long I think and on Russian, youtube subtitles are not so good but you can on it)

If you have questions please write in comments.


pingkan (author)2017-10-25

i can't understand 'vw_setup'was not declared

i get error when i compile it. anyone can help ?

summa kuppai (author)2017-07-20

how u connect rx to rx and tx to tx

stannickel made it! (author)2015-01-22

I'm so excited! I got this to work with only a couple of code fixes. The library includes were mentioned earlier: Receiver code needs: #include <VirtualWire.h> and #include <LiquidCrystal.h> and Transmitter code needs #include <VirtualWire.h>. The other fix is in the Receiver code near the bottom where it should read "for (i = 0; i < buflen; i++){" instead of for (i = 1)... The for i = 1 chops off the first letter.

AchielV (author)stannickel2017-05-31

the initial for loop is correct, if you set i=0 then it places a "new line" before the string! the other changes where helpfull ;)

KristinD3 (author)stannickel2016-11-04

Anything else needed to be changed from the tutorial. I am looking to try this out! Thank you in advance

stannickel (author)KristinD32016-11-04

Should be OK with the fixes. Good luck!

OladipoT (author)2017-03-28


ZiadM9 (author)2016-10-11

how the hell does that window appear on your computer .. the one which sends the message to aurdino.

vthenga muchi (author)ZiadM92017-02-23

Hi Ziadm9, go to Tools -> Serial Monitor or press Ctrl+Shift+M

JoziwilT (author)2017-02-20

i have a question. can many of this transmitter receiver "partner" operate at the same place? without interfering with each other?

Kishan Gondalia (author)2017-01-16

How do send data from receiver to transmitter in this itself

Kiran Pai (author)2016-09-25

Hey can someone plese help with the RF transmission and Reception between an Arduino and a Promini

lord awesome (author)2016-07-26

Helo sir
Im makeing a rc airplane and i am useing xy-mk-5v/xy.../raspberry pi transmitter and receivers for arduino 445mhz. I got on amazon the 6pack. Can this code be used to link a transmitter and receiver? And how do i send a code for turning things on and off with a remote can u explain to me please if i can understand how to make an rc plane i will be able to understand how to make future projects please help me.

Also if you can can u send me to a page on instructables on how to extend the range of my transmitter and reaceiver thanks if you can help it will mean alot to me.

MitchellB30 (author)lord awesome2016-08-30

for extending the range, you need an antenna. For a plane, you're going to need a big one. Calculate the wavelength of the signal (wavelength = velocity/frequency) then make an antenna that's either 1/8, 1/4, 1/2, or 1 times the wavelength. you need the same length of antenna on each side, and you have to hold the antennae more or less parallel while in flight.

Ganesh Hosur (author)2016-07-28

Is it possible to send multiple sensor readings via this module?..Meaning, assume that I have a three passive infrared sensors on the transmitter side and a red, a blue and a green led on the receiver side. Assuming the initial state of the leds is off:

*If PIR 1 is high:Turn on red led.

*If PIR 2 is high: turn on the blue led.

*If PIR3 is high: turn on the green led..

Please let me know if this is possible..

MitchellB30 (author)Ganesh Hosur2016-08-30

sure that's possible. Use the Radiohead or Virtualwire library, and simply send 1,2 or 3 for whichever infrared sensor goes off, then have a if block on the receiving end to afigure out which LED to turn on.

athikah_sani (author)2016-08-17

What version is your arduino 1.0.6 or 1.6.7???

MarwaA9 (author)2016-06-10

I want to use two arduino boards with ultrasonic sensor one arduino will read distance and send its value to other arduino in a robot, give me an advice on how to do that please :)

MalikE2 (author)MarwaA92016-06-25

It should work the same way except instead of sending the data and displaying it, it should send the data and the other arduino will accept it as a value for distance or something.

FurkanK15 (author)2016-05-12

I have one question that didnt figure it out ,in the receiver circuit how are we gonna connect lcd to Pro mini?? in the circuit schematic you have connected lcd to arduino uno but in the video you have connected lcd to pro mini.

Shumayal (author)2016-04-27

Can I use this

Nordic NRF24L01 Plus 2.4GHz RF with SMA Antenna for Arduino, AVR, PIC

to communicate data from my Arduino Uno to Laptop? I'm new to this, I have seen a video of a person getting live telemetry readings (which can also be stored if programmed) but that was using some 3DR wireless.

Please direct me to somewhere I can easily understand this and identify the alternative to said 3DR models?

laith mohamed (author)2016-04-16

Good work

REX_9123 (author)laith mohamed2016-04-19

sir can you send ma a complete coding both Tx and Rx, it is giving an error.

MichaelN116 (author)2016-02-08

Works great. Just make sure to include both the LCD lib and the WIRELESS lib in the code.

// include the library code:
#include <LiquidCrystal.h>
#include <VirtualWire.h>

REX_9123 (author)MichaelN1162016-04-19

is it necessary to include the lib because it is giving an error.

TabbyM (author)2016-02-21

Assalam-oalikum sir.
i'm working with nrf modules for wireless communication and this is my first time dealing with them.
the libraries available for them are complex and i cant understand them well.
i want to write a simple code that could just transmit a value read from current sensor wirelessly.
please help me out.
Jazakallahu kher in advance. :)

RapolasL (author)2016-02-20

Hello, could anyone explain why in this code when I write the word need to press dot in the end... How to clear it out, I would like to just press enter and send a message. And when I'm writting a message, long message, the message is not moving to the second LC line, I would like to do it. Can anyone help me please ?

NabeelA13 (author)2016-01-01

Is any one know sketch codes to make the addition and display of second line on LCD (1602)......?

tuxj (author)2014-12-20

Thank you for the article, but in my case, the lcd display shows incomprehensible symbols, for examples this what shows the display when I send "hello." Is there a solution?

FelipeS41 (author)tuxj2015-12-21

modify the speed of sending the charcaters to the lcd

headslant (author)tuxj2015-11-20

Did you check your wiring? when i hooked mine up I mixxed up some wires, and It showed weird stuff...

ΓιώργοςΚ9 (author)2015-11-23

Nice project !
I want to send instead of letters on numbers written on serial i want to send values of analog pins or a defined number without a pc needed!
Thaks in advance!

nodoubtman (author)2014-08-12

Nice instructables! My plan is to make a wireless doorbell, can you help me out a little bit?


headslant made it! (author)nodoubtman2015-11-20

I know this is a little late, but here is some code...

I didn't test it, but it should work

headslant (author)nodoubtman2015-11-20

I know this is a little late, but here is some code...

I didn't test it, but it should work

headslant (author)nodoubtman2015-11-20

I know this is a little late, but here is some code...

I didn't test it, but it should work

nodoubtman (author)nodoubtman2014-11-15

for the receiver :

#include <VirtualWire.h>
#include <LiquidCrystal.h>

for the transmitter:

#include <VirtualWire.h>

Thanks! :)

have a good night! :)


flint.defrenne (author)2015-08-07

How do I Make the antenna, and where do I attach?

headslant (author)flint.defrenne2015-11-20

on the transmitter there should be a hole marked ANT, solder the antenna (15-25cm) there..

headslant made it! (author)2015-11-20

Cool. I needed a similar project, and I built my own, it is a little different, but it works...

robmawe91 (author)2015-11-17

I'm getting the error compilling...

uint8_t prescalers[] PROGMEM = {0, 0, 3, 6, 8, 10, 12}; /* Must be outside the function */

DaleW6 (author)2015-11-14

Yeah Not so cool.

So where s the library and a code with no errors?????????????

Another incomplete instructable YAY!!

Glad people are here to fix your project for you.

cveng (author)DaleW62015-11-16

What did you contribute here except complaints?

DaleW6 (author)cveng2015-11-17

Yes my fault I made an instructable for the world wide web that does not even work.

cveng (author)DaleW62015-11-17

Question remains. What did YOU do except whining?

Site is free of charge, and nobody forces you to do the projects or even read about them.

ThànhN23 (author)2015-11-03


I want to control many Relay by using RF , Point to multi Point

So , What i mush do to config RF module , how does it know Address or ID each Recever module ?

RishikeshC (author)2015-10-12

also I would like to know which library do we have to upload

RishikeshC (author)2015-10-12

hey guys I'm I'm new to this wireless communication thing so I need a little help

I don't want to start by doing stuff on a lcd screen I want to start by simple thing as switching on one led can anyone help me with the code for both transmitter and receiver ?

DanR40 (author)2015-10-12

what would the potential range be with a larger aerial? I'm looking at something that can span about 1km open country (clear line of sight)

anandhs1996 (author)2015-09-21

i have error 'vw_setup'was not declared in this scope

help me

About This Instructable




More by Eagle199393:2.4" TFT LCD Touch Shield ArduinoLED CUBE Arduino 5x5x5Water cannon arduino robot IR
Add instructable to: