433 On A Stick

Cheap 433 MHz wireless switches are a tempting way to enter the world of home automation, but without dedicated hardware, they can be less easy to control from a PC. That’s the position [TheStaticTurtle] was in, so the solution was obvious. Build a USB 433 MHz transceiver.

At the computer end is a CH340 USB-to-serial chip and the familiar ATmega328 making this a compact copy of the Arduino. At the RF end are a pair of modules for transmit and receive, unexpectedly with separate antennas. This device is a second revision, after initial experiments with a single antenna connector and an RF switch proved not to work. On the software side the Arduino uses the rc-switch library, while on the PC side there’s a Python library to make sense of it all. The code and hardware files are all on GitHub, should you wish to experiment.

The problem of making a single antenna transceiver is not for the faint-hearted RF engineer, as while diode switches seem on paper to deliver the goods, they can be extremely difficult to get right and preserve linearity. We’re curious that a transceiver module wasn’t used instead, but we’re guessing that cost played a significant part in the equation.

Over the years we’ve featured quite a few fascinating 433 MHz projects, like this TP-Link router conversion.

From Vacuum Cleaner Hacking To Weather Station Reverse Engineering


[Spock] wanted to do a little reverse engineering of his Miele brand remote control vacuum cleaner, so he broke out his DVB-T SDR dongle to use as a spectrum analyser. Sure enough, he found a 433.83Mhz signal that his vacuum cleaner remote control was using, but to his surprise, he found a stray QAM256 signal when he expected an ASK  only one.

After a little detective work, [Spock] eventually tracked it down to a cheap weather station he had forgotten about. The protocol for the weather station was too compelling for him to go back to his vacuum cleaner, though. After downloading an rc-switch Arduino library and making a quick stop at his local radio shack to get a 433.92 radio receiver to decode the signal, he reverse engineered the weather station so he could digitally record the temperature output. The Arduino rc-switch library proved unable to decode the signal, but some Python work helped him get to the bottom of it.

With software defined radio becoming more accessible and common place, hacks like these are a nice reminder just how wired our houses are becoming.