RF Wireless Transmitter & Receiver Module 433Mhz for Arduino MX-05V/XD-RF-5V

Wireless Transmitter Modules allow your Arduino to wirelessly comunicate with other arduinos, or with radio frequency (RF) controlled devices that operate in the same frequency (433Mhz in this case).

They work in pairs, meaning you need both a receiver and a transmitter to comunicate with each other.

The receiver has 4 pins, but we actually use 3 of them: GND (Ground), VCC (5V) and one DATA pin.

Technical Details:

TX (Transmitter) Technical Specifications:

  • Working voltage: 3V~12V
  • Working current: max≤40mA (12V), min≤9mA(3V)
  • Resonance mode: sound wave resonance (SAW)
  • Modulation mode: ASK /OOK
  • Working frequency: 315MHz-433.92MHz, customized frequency is available.
  • Transmission power: 25mW (315MHz at 12V)
  • Frequency error: +150kHz (max)
  • Velocity: ≤10Kbps
  • Self-owned codes: negative

RX (Receiver) Technical Specifications:

  • Working voltage: 5.0VDC +0.5V
  • Working current:≤5.5mA (5.0VDC)
  • Working principle: single chip superregeneration receiving
  • Working method: OOK/ASK
  • Working frequency: 315MHz-433.92MHz, customized frequency is available.
  • Bandwidth: 2MHz (315MHz, having result from testing at lowing the sensitivity 3dBm)
  • Sensitivity: excel –100dBm (50Ω)
  • Transmitting velocity: <9.6Kbps (at 315MHz and -95dBm)

Similar Modules:
There are lot of similar modules, but most of them either have a different wiring, or operate in a different frequency.

Example of Use:

  • 2 Arduini
  • 1 Receiver
  • 1 Transmitter
  • 6 Jumper Wires
Wiring Instructions:

    On the Receiver wire the pin labeled "ATAD" to pin 2, "GND" to GND, and "VCC" to 5V on the Arduino
On the Transmitter wire one of the pins labeled "DATA" (it doesn't matter wich one, ax long as you use only one of the "DATA" pins) to pin 10, "GND" to GND, and "VCC" to 5V on the second Arduino

Sketch Instructions:
    This code depends on the RC-Switch library, wich can be downloaded here: RC Switch Library Download
    After copying and uploading this code your Transmitter module should be sending wireless signals. After copying and uploading this code your Receiver module should be receiving the wireless signals your Transmitter is sending. If you want to modify the signals, simply change the line:

        mySwitch.send("10000100011000000000010100"); //Replace the number inside

Transmitter Code

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  mySwitch.enableTransmit(10);  // Using Pin #10

void loop() {

Receiver Code

  Simple example for receiving
  Need help? http://forum.ardumote.com

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2

void loop() {
  if (mySwitch.available()) {
    int value = mySwitch.getReceivedValue();
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );


    Open the serial monitor, with the Receiver board connected to the computer, and you should see some signals 

Resources & Related Links:

Author: Daniel Ruhman

Please feel free to leave any comments or questions you may have about this module.