The raspberry pi outputs are 3V3, and can be easily damaged by 5V, so a buffer is required to drive the relay coil, I used the Jaycar relay module, it already has the drive transistor, the flyback diode and an indicator LED, plus it saved time in getting it finished. The duty cycle is expected to be fairly low, maybe one or two activations per day at the most. So the relay quality is not a major consideration,
View attachment 3931
The arduino gpio pins are by default inputs and with internal pullups enabled ( at least on GPIO23 ) so that when the raspberry pi is first powered up the input high can source sufficient current to turn on the relay, which is not desirable. A 10K pull down wasn't sufficient to keep the relay off.
However adding the following line in /boot/config.txt
forces the gpio pin 23 to an output low which fixes the problem.
I also put an additional 1K5 in series with the GPIO line.
I think it's time to deploy it to the listening post base station....