This is a simple relay driver for the relay-switched LPF kit, which may be used with the Raspberry Pi computer and any other 3.3V systems, or systems where you do not want to drive the relays directly from I/O pins.
The relays in the relay-switched LPF kit have 5V coils and the coils consume 28mA of current. In the Ultimate 3S QRSS/WSPR transmitter kit, these relay coils are driven directly by the AVR. The I/O control signals from the AVR are set to low (0V) to turn on a relay. The other end of the relay coil is connected to 5V. So setting the AVR I/O signal to low puts 5V across the relay and activates it. To switch a relay off, the I/O signal is set to high (5V) or to high-impedance state. Note that the relay-switched LPF kit also contains one 1N4148 diode per relay, this protects semiconductor devices from damage from the high-voltage spike when the relay coil is energised.
In systems where the I/O pin cannot supply 28mA of current, or where the I/O signal voltage levels are 3.3V, a relay driver circuit is required. This is due to the fact that although switching 3.3V logic to low (0V) will activate the relay, switching it to high (3.3V) may NOT de-activate it, since the release voltage of relay contacts is much lower the initial switch-on pull-in voltage.
Each relay is driven by a single transistor. In this example I use BC547s which are cheap and common. You could use other transistors too, it is not critical (e.g. 2N2222, etc). Just make sure the pinout matches the PCB, or alter the PCB to match the transistor pinout. The 1K resistor in the base circuit of the transistor is required to limit the current through the Base-Emitter junction, which would otherwise easily destroy the transistor.
In this circuit, the logic levels are inverted by the buffer transistors. The five GP I/O lines from the Raspberry Pi should be set to low state, to switch off the relays. To switch on one of the relays, set one of the I/O lines to high (+3.3V), this will switch on the transistor. Current will then flow through the relay, and through the transistor's collector-emitter junction to ground, and the relay will activate.
Click here to download Eagle PCB CAD files for this project. The schematic file is .sch, the board file is .brd and all the other files are gerber files which can be used by a PCB factory to manufacture the PCB. The following images show the circuit diagram and example PCB layout.
Raspberry Pi WSPR code that supports the QRP Labs Relay board, by Corrie M0XDK
Corrie M0XDK informs us that he has a fork of the wsprrypi software that can drive the QRP Labs relay board. He added the option to control the GPIO lines just before transmit:
-l --lpf Brings up GPIO 7 - 11 mapped as band 1 - 5 before TX. Used to switch LPF relays like the QRP Labs board.
The link to the software is: https://github.com/griffc/WsprryPi/tree/feature/lpf
Update - 07-May-2022
Thanks to OM Alfredo IZ7BOJ who writes:
"...you reported a particular branch of Wsprrpi code by Corrie M0XDK, which supports your relay switch board using Raspy GPIO.
Moreover, it uses GPIO5 for driving an RX/TX switch. I use it for switching between SDR dongle (RX) and TX part.
I tried that version but it works only on RPI1 because it's very old.
I developed an update working version wich is under test on my RPI3 and seems to be OK. It's available here: https://github.com/IZ7BOJ/WsprryPi/releases/tag/pre-release "