Fish Feeder

This is the automatic fish feeder I made to go with our outdoor pond which has some goldfish in it.
It seemed appropriate to knock up something that could be controlled by my Home Assistant setup. Total cost is $0, having been chucked together from bits I had lying around.
(With all the hacking and cutting, it would have been quicker to make it on my 3D printer.)

Here is a view of the feeder before it got some rain protection added.
A solenoid pulls a lever which pushes a ‘tongue’ forward. The tongue has a hole in it, which fills up with pellets held in the green bottle. There is a hole in the bottom of the bottle, through which the pellets flow to fill up the hole in the tongue.
The whole thing is mounted on a piece of hardwood which hangs over the edge of the pond.
(Being experimental, it isn’t too elegant.)

The mechanism from above. The lever is simply to convert the solenoid’s pull, to a push.
The spring holds the ‘tongue’ under the bottle at rest. A 12v pulse to the solenoid pushes the tongue forward.

The ‘tongue’ protruding, showing the hole which fills with pellets when under the bottle.
The pellets drop into the pond when the tongue protrudes.

The 12v for the fish feeder is fed from an ESP8266 relay board with Tasmota programmed on it.
That allows Home Assistant to control it, along with a pond pump and pond lights.
A 12v plugpack powers the board and the pond accessories.
The board I used is the 4 relay board from
(I used the 8 relay board for our garden sprinklers.)

Unfortunately WiFi connection to the board in our laundry was problematic, so I added a WiFi extender to the laundry.

Here is my YAML script to sequence the feeder:
The pump and lights get turned off first, to reduce the total load on the 12v supply when the solenoid is energised. -The wiring to the pool area from the garage is pretty light, and the 12v plugpack powering the relay board and pond gadgets is only rated at 2A.

  alias: Feed Fish
    - service: notify.mobile_app_qr8
        message: TTS
          ttl: 0
          priority: high
          media_stream: alarm_stream
          tts_text: "The fish are being fed"
    - service: switch.turn_off
          - switch.pond_pump
          - switch.pond_lights
    - delay:
        seconds: 10
    - service: switch.turn_on
        entity_id: switch.pond_feeder
    - delay:
        seconds: 2
    - service: switch.turn_off
        entity_id: switch.pond_feeder
    - delay:
        minutes: 10
    - service: switch.turn_on
        entity_id: switch.pond_pump
  mode: single

Update on the above:

As is, the feeder is a flop. Because it is outside exposed to the weather, rain has caused the feed pellets to expand. So they jam up in the bottle and tongue.
(The mechanism and Home Assistant code work fine.)
Rats! Need a more weatherproof delivery system. -Would be OK indoors.

Leave a Reply

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