Fork me on GitHub

Project Notes

#063 RFSwitch

The simplest analog RF switch, using a 433Mhz RF transmitter and receiver set. No microcontrollers here!

The Build

Here’s a quick video of the circuit in action:

RFSwitch demo

Notes

Paired RF transmit/receive modules are widely available at low cost. The modules I have came from aliexpress for 0.80USD with free shipping. Can’t ask for a much better deal than that!

I believe that these devices fit into the general category of short range/low-power devices and specifically LPD433 - low power devices operating on the 433 MHz UHF/70-centimeter band.

Before diving into using higher-level data protocols over the RF link, I was inspired by various youtube videos to test the devices with the simplest analogue switch circuit. A sampling of the many youtube videos on the subject:

So in this circuit, there’s no microcontroller or anything fancy, just the RF modules communicating with each other and transmitting a button press to blink a remote LED.

Module Specifications

As much as I can glean from available datasheets:

  • Frequency: 433Mhz
  • Modulation: ASK
  • Receiver Data Output: High - 1/2 Vcc, Low - 0.7v
  • Transmitor Input Voltage: 3-12V (high voltage = more transmitting power)

Sender

Simply has a button wired up with LED indicator. When not pressed, the Data line is pulled low. When the button is pressed, it pulls the data pin high. The LED indicator on the sender-side is merely to confirm that a data signal was raised. I’ve wired up the sender to a 9V battery.

Receiver

The receiver is powered with 5V. When data is received, it takes the data line high.

Initially, I just had an LED wired to the data line. That worked reasonably well: press the button on the sender, and the receiver blinks the LED! How simple is that?

However, when the sender is not transmitting, the receiver does seem to pick up quite a bit of noise. I managed to filter out the noise to the point where it is 90%+ clean with two simple measures:

  • add a 1μF and 100nF capacitors for medium-high frequency filtering
  • send the data into an LM324 OpAmp comparator, with reference voltage set at 10kΩ/(4.7kΩ + 10kΩ) * Vcc i.e. ~68% Vcc or 3.4V

Next up I’ll be looking at using the RF links with an Arduino. I’m interested to see if libraries like RadioHead obviate the need to do this analog signal processing (answer is yes!):

  • LEAP#064 RFSwitchASK - adding microcontrollers and demonstrating simple data communications using ASK protocol

Construction

Here’s the breadboard layout and schematic for the simple RF switch:

The Breadboard

The Schematic

Modification - Low-Power Transmitter

Looking at the transmitter-side, it remains powered up and keeping the channel open even when there’s no button press. Perhaps we could only power up the transmitter when it is time to send a button press?

This turns out to be very simple - just alter the transmitter layout so the pushbutton is a power switch for the transmitter configred for continuous transmission. From the little testing I’ve done, this works just fine!

The Breadboard

The Schematic

Credits and References

About LEAP#63 RadioOpAmpLPD433
Project Source on GitHub Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is my personal collection of electronics projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.