Fish Feed Time – Wireless Socket Control with the Raspberry Pi


Being a bit of an unecessary geek, I’ve decided to pimp out my fishtank with a Feeding Time button!
“What’s one of those?” I hear you ask! Well… As it’s a Marine Reef tank, it’s a bit fiddly to feed some of the corals directly with the powerheads (underwater fans) running, so it’s often useful to turn things off that agitate the water.

I considered having hardwired relays going to each plugsocket that I wanted to control, but aside from the advantages (ability to verify state, confirming that a socket is on/off etc), I didn’t fancy playing around with Mains voltages- especially on something that’s so close to large amounts of water!

So, instead I opted to grab some Remote Control plug sockets, and control these with a Raspberry Pi (which I happened to have underneath the tank already… See: Aquarium Moonlight Controller)

Fish Feed Time – Wireless Socket Control with the Raspberry Pi

The Sockets

There’s a few different types of Remote Control sockets, but the ones I opted for look like this:

I grabbed these from Amazon, but I’ve seen them on Ebay and a few other places too- I bought one pack of three, plus an additional standalone plug- which also means I have two remote controls too; not that I need them

[important]You can use pretty much ANY remote control sockets that have a Remote Control, but you will likely need to *manually* update the Remote Codes in the “switch” script! This involves a fair bit of technical faffing-about, but is well documented here: Hoagies House – RC Sockets

You can also find the original source code for the “switch” script here too![/important]


Now I had my plugs, I needed a transmitter. I went for this 433Mhz Transmitter LINK_HERE – but you should find that any similarly cheap 433MHz transmitter should work fine- just ensure you redesign the PCB and/or connect up the pins correctly as the pin layout may change between transmitters!

For the design, I wanted:


  • An LED to signify when FishFeedTime was active
  • A buzzer to signify “Start”, “Warning”, and “Stop” statuses.
  • 433Mhz Transmitter to control the Sockets
  • A Push Button to Start/Stop FishFeedTime.


I set out to prototype the kit on a breadboard, before drawing up a PCB to be fabricated by


To deploy the code, we assume you have SSH access to your Raspberry Pi (check the Raspberry Pi help pages if you’re unsure on this.)


  • SSH to your Pi, as a User with “sudo” access!
  • Get the code:


# Install git
sudo apt-get update && sudo apt-get install git
# Download the code:
git clone
# Go into the newly made directory:
cd fishfeedtime


Fish Feed Time – Wireless Socket Control with the Raspberry Pi schematicCreate new user


# Kind unnecessary... as the script runs as root, but
# I ended up adding sudoers perms to this user so it can control the init script
## Importantly though, if you change any of this, you'll need to change the init script too <img src="//" alt=":)" class="wp-smiley" style="height: 1em; max-height: 1em;">
sudo useradd -m -s/bin/bash fishfeedtime


  • Deploy main and init scripts


sudo mkdir ~fishfeedtime/fishfeedtime
sudo mv switch ~fishfeedtime/fishfeedtime/
sudo mv fishfeedtime_init /etc/init.d/fishfeedtime
sudo chmod a+x ~fishfeedtime/fishfeedtime/
sudo chmod a+x /etc/init.d/fishfeedtime
sudo update-rc.d fishfeedtime defaults
sudo update-rc.d fishfeedtime enable


  • Configure Your Sockets


For this part- run the configuration script FIRST!:


This will configure each channel, one-by-one.
If you don’t care about being able to control the sockets individually in some other code (which I do!), then you can just stick them all onto Channel 1 if thats easier


For more detail: Fish Feed Time – Wireless Socket Control with the Raspberry Pi

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top