Documentation

ShillehTek 433MHz RF Wireless Transmitter Receiver Link Kit for Arduino | ShillehTek Product Manual
Documentation / ShillehTek 433MHz RF Wireless Transmitter Receiver Link Kit for Arduino | ShillehTek Product Manual

ShillehTek 433MHz RF Wireless Transmitter Receiver Link Kit for Arduino | ShillehTek Product Manual

Overview

This 433 MHz RF link kit is the cheapest way to add wireless one-way data between two Arduinos (or any pair of microcontrollers). The kit includes a transmitter board (3 pins: VCC, DATA, GND) and a matching receiver board (4 pins: VCC, DATA, DATA, GND). With a small antenna wire and the RH_ASK or RadioHead library, you'll be sending bytes across a room (or up to 100m line-of-sight) in minutes.

The transmitter uses ASK (Amplitude Shift Keying) โ€” a fancy way of saying it just turns the carrier on and off to encode 1s and 0s. The receiver listens for that pattern. Because it's unidirectional and unaddressed, you'll typically pair it with a small protocol library that handles framing, checksums, and addressing in software.

At a Glance

Frequency
433 MHz
TX Voltage
3 - 12V
RX Voltage
5V
Modulation
ASK / OOK
Range
~20-100 m (with antenna)
Data Rate
Up to 4.8 kbps

Specifications

Parameter Value
Operating Frequency 433.92 MHz (typical)
Transmitter Voltage 3V - 12V (more = more range)
Transmitter Current ~9 mA @ 5V (transmitting)
Transmitter Power Up to 25 mW @ 12V (~14 dBm)
Receiver Voltage 5V (single rail)
Receiver Current ~4 mA
Receiver Sensitivity -105 dBm
Modulation ASK / OOK (on-off keying)
Maximum Data Rate 4.8 kbps (with RadioHead RH_ASK)
Range (no antenna) ~3-10 m
Range (with 17 cm antenna) ~20-100 m line-of-sight
TX Pins VCC, DATA, GND (3 pins)
RX Pins VCC, DATA, DATA (linked), GND (4 pins)

Pinout Diagram

Transmitter (TX) XTAL ANT VCC 3-12V DATA Input GND Ground Receiver (RX) XTAL decoder IC ANT VCC 5V DATA Output DATA (linked) GND Ground

Wiring Guide

Transmitter on the Sending Arduino

The TX module accepts 3-12V on VCC. Higher voltage = longer range. From a 5V Arduino, expect ~20m without antenna. With a 12V external supply and a wire antenna, 100m is realistic.

TX Pin Arduino Pin
VCC 5V (or 12V external for max range)
DATA D12 (RadioHead default)
GND GND
Tip: Always solder a 17cm wire antenna onto the TX board's small antenna pad. Without it, range drops to a few meters.

Receiver on the Receiving Arduino

The RX module is 5V only. The two middle DATA pins are internally linked โ€” connect either one to your input pin (or both for redundancy).

RX Pin Arduino Pin
VCC 5V
DATA D11 (RadioHead default)
DATA (linked) (unused or also D11)
GND GND
Warning: The RX module is sensitive to power supply noise. If you see lots of false triggers, add a 100ยตF cap across VCC/GND right at the module.

Adding an Antenna

For 433 MHz, the optimal quarter-wave antenna is ~17.3 cm long. A simple straight wire works fine. Solder it to the antenna pad on each module.

Type Length Range Estimate
None โ€” 3-10 m
Single wire 17.3 cm 30-50 m
Helical coil ~3 cm wound 20-30 m
SMA + commercial 433 MHz โ€” 100+ m

Code Examples

Arduino TX โ€” RadioHead RH_ASK

tx_arduino.ino
// 433 MHz Transmitter - Arduino
// Library: RadioHead by airspayce.com (Arduino Library Manager)

#include <RH_ASK.h>
#include <SPI.h>  // RadioHead requires SPI.h even when not using SPI

RH_ASK driver(2000, 11, 12);  // speed=2000bps, RX=D11(unused), TX=D12

void setup() {
  Serial.begin(9600);
  if (!driver.init())
    Serial.println("RH_ASK init failed");
}

void loop() {
  const char *msg = "Hello, world!";
  driver.send((uint8_t*)msg, strlen(msg));
  driver.waitPacketSent();
  Serial.println("Sent");
  delay(1000);
}

Arduino RX โ€” RadioHead RH_ASK

rx_arduino.ino
// 433 MHz Receiver - Arduino
// Same library: RadioHead

#include <RH_ASK.h>
#include <SPI.h>

RH_ASK driver(2000, 11, 12);  // speed=2000bps, RX=D11, TX=D12(unused)

void setup() {
  Serial.begin(9600);
  if (!driver.init())
    Serial.println("RH_ASK init failed");
}

void loop() {
  uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
  uint8_t buflen = sizeof(buf);
  if (driver.recv(buf, &buflen)) {
    buf[buflen] = 0;
    Serial.print("Got: ");
    Serial.println((char*)buf);
  }
}

Raspberry Pi RX (Python โ€” rpi-rf)

rx_rpi.py
#!/usr/bin/env python3
# Install: pip install rpi-rf
# RX DATA -> GPIO 27 (Pin 13)

from rpi_rf import RFDevice
import time

rx = RFDevice(27)
rx.enable_rx()
last_ts = 0

print("Listening for 433MHz codes...")
try:
    while True:
        if rx.rx_code_timestamp != last_ts:
            last_ts = rx.rx_code_timestamp
            print(f"Code: {rx.rx_code}  pulse: {rx.rx_pulselength}us "
                  f"protocol: {rx.rx_proto}")
        time.sleep(0.01)
except KeyboardInterrupt:
    rx.cleanup()

Frequently Asked Questions

Why is my range so short?
95% of the time it's the missing antenna. Solder a 17.3 cm wire to the antenna pad on BOTH modules. Also try increasing TX VCC to 9-12V โ€” range scales with TX power.
Can two TX boards talk to two RX boards?
Yes, but they share the same channel โ€” both receivers will hear both transmitters. Use software addressing (RadioHead's setThisAddress() and packet headers) to route messages to specific nodes.
Will this go through walls?
Through one or two interior walls, yes. Through reinforced concrete or metal-stud walls, range drops dramatically. Mount transmitter and receiver as high as possible and avoid metal enclosures.
Is 433 MHz legal?
In the US it's part of the unlicensed ISM band (limited duty cycle and power). In the EU, 433.05-434.79 MHz is also licensed-free. Check your local regulations if you're operating commercially or at high power.
Why is the RX picking up garbage when nothing is transmitting?
The receiver auto-gains, so when there's no signal it amplifies background noise. That's normal. The RadioHead library filters out noise based on packet structure โ€” only valid framed packets get to your code.
Can I use this for two-way communication?
Not without two pairs (one TX/RX kit on each side). For true bidirectional radio, look at NRF24L01+ or LoRa modules โ€” those handle TX/RX on a single chip.