Adding a RF receiver and remote to my RPi project

Now my prototype is working (buzzer, touch sensor, servo motor), I am wanting to add a RF remote receiver/transmitter as a backup in case there is a problem with the touch sensor (because we are getting horses to activate it for our experiment).

So a colleague in the UK, suggested using a remote with a key fob which we can activate to register the correct response from the horse, even if they don’t actually make the touch sensor work activate (something that’s been happening a bit when we test it with the horses).
We need the input from the remote to register on the pi the time of its activation- ie, when we push it, we want the time of the push to be recorded and also, that push to trigger the buzzer and the servo motor (which we will need to code obviously). So am looking for advice re the best components to use to get the receiver and remote set up on the pi that also has a piicodev touch sensor, piicodev servo motor relay and piicodev buzzer set up on it.

Also, a related question, once we’ve got everything working and data logging, do we need a separate data logger with SD card to store the data (latency and touch data) or can we store it on the SD card installed in the Pi. I know a key issue will be the amount of data and whether the SD card has enough memory.

Thanks in advance.

Hey @Cath250795 - I’ve been following your project and it’s super interesting.

One thing that you might try to source is a off-the-shelf remote operated relay (something Core does not stock). These can be a little costly but are very simple.

Another idea that comes to mind is to use two PiicoDev Transceivers. You could build a remote using:

  • a Pico
  • a Transceiver
  • a button

And the other transceiver can be connected to the Pi in the same daisy chain as your other PiicoDev hardware.
Take a look at the Project Ideas section at the bottom of the PiicoDev Transceiver Guide. You’ll see a remote control demo there that is probably more complex than what you need. You’ll probably just want to simply use the .send command eg. radio.send("Button was pressed").
Your Pi can listen for these messages.

If you are storing text on the Pi then you probably have ample room for large datalogging files if they are just event timestamps.

Thanks Bob. It’s been interesting to learn a new set of skills in an area I had no prior knowledge in. Thanks for the tips. I did watch the video and it looks like it could work for my project. So just wanted to confirm before I order the products. I already have the piicodev adapter attached to my pi and have a free port-could I plug the piicodev transceiver directly into that? And then would I need a second one? In place of the second one, could I use a remote of some kind to transmit to the transceiver attached to the pi? Is there a remote type device that could be used with the piicodev transceiver? Ideally because of the logistics of working with the horses, we would like to be able to use the remote to signal to the pi that the correct behavioural response has been made as this will simpfy things for our research assistants who are not familiar with the electronics set-up.

I have found some transceiver-remote kits from Jaycar that I am assuming would be suitable for use with the pi, but wanted to check first that the piicodev option could do the same thing more or less as very easy for me to plug in and code because the code is already written!

Thanks again

Hey again @Cath250795
In general PiicoDev Transceivers can only talk to other PiicoDev Transceivers. The remote-control would also need a controller, like a Raspberry Pi Pico for example to drive the Transceiver.

I’m familiar with the remote kits you’re talking about - they’re pretty simple to set up and could interface directly with the Pi’s GPIO to behave as a remote-controlled switch. They often have a predefined behaviour like a hold-on time which may hinder responsiveness. You’ll have to investigate and see if it feels appropriate.

1 Like

Another option might be to use an off-the-shelf RF USB remote. These are typically designed for media centre type projects, take batteries, and have a USB dongle to plug into your Pi. Most of them register as HID devices, meaning you can use the Keyboard or evdev packages in Python to detect which button is pressed.

You could achieve the same thing with a Bluetooth remote too, but that adds a layer of complexity.

2 Likes

Hi guys-thanks for the info. So am wondering is this product with a remote would work as you’ve suggested: 433MHz wireless RF transmitter and receiver kit | Seeed Studio SS114992733 | Core Electronics Australia or whether either of these kits sold elsewhere could also work. And lastly, given I am using the piicodev adapted on the pi, which covers all the pins, how would I connect the non-piico dev products to the pi?

Other products: https://www.jaycar.com.au/12-volt-two-way-remote-control-relay-controller-board/p/LR8855?

or 433MHz LoRa Long Range RF Wireless Module
And then some kind of remote- would something like this one or similar be suitable?

Alternatively am thinking could dispense with the remote option and just use a piico dev button attached directly to the piicodev apdapter to achieve the same functionality- a back-up in case we have problems with the touch sensor so we can activate the motor and give the horses their food reward for being clever. So my question on that one is what is the maximum length of cable I could use to still get a button press to register on the pi? Ideally we’d like to be at least a metre away but am thinking that’s going to be to too far if we use a cable? We want to minimise human interactions with the horses to reduce the liklihood our behaviour influences theirs. Thanks again in advance.