English · Русский
A 433 MHz remote relay: set a countdown on the transmitter, then the receiver counts it down and closes a relay contact. The project is split into two independent Arduino sketches: a transmitter and a receiver.
┌──────────────────────┐ ┌────────────────────┐
│ Remote-Relay-Send │ 433 MHz │ Remote-Relay-Get │
│ (transmitter) │ ─────────► │ (receiver) │
│ configure + send │ │ countdown → close │
└──────────────────────┘ └────────────────────┘
Transmitter (Remote-Relay-Send)
- 128×32 SSD1306 OLED display and four buttons: send, delay up, delay down, sound.
- Pick a delay from 0 to 30 seconds (the maximum is set in code), toggle the piezo sound on the receiver, and press send.
- The settings are packed into a single 12-bit command and broadcast over 433 MHz.
Receiver (Remote-Relay-Get)
- Decodes commands, ignoring anything that does not match the expected key.
- Counts down the delay: a 10-step LED timer bar runs (there are no LEDs on the schematic), and when sound is on the piezo beeps once per second with a longer final beep.
- When the timer hits zero, the relay pin is driven HIGH for 500 ms — the relay trips — then back LOW.
Transmitter (OLED, buttons, 433 MHz module)

Receiver (433 MHz receiver, piezo, LEDs, relay)

The transmitter settings are packed into a single 12-bit command: soundEnable:1 | shotDelay:5 | key:6.
The last 6 bits are the key — a sort of address for the receiver pair. It is hardcoded as 0b110011 in both sketches.
The receiver closes the relay only if the key of the incoming command matches its own key; everything else is ignored.
This way identical transmitters do not interfere with each other: a transmitter with a different key will not start your timer. To set up several pairs in the same coverage area, change key — in both sketches, and to the same value.
RCSwitchBounce2Adafruit_GFXAdafruit_SSD1306