Please note that the corner mounting holes do not line up with all in the base, but one should be enough to secure it reasonably for when going away on travel.
For reference; this is how one could easily hook up the servo to a ESP32 or ESP8266
5V → 5V (red)
GND → GND (black)
SIGNAL → any GPIO pin
A sample ESPHome configuration for exposing the feeder as a button in HomeAssistant could be as follow (
Make sure to adjust the open and close positions below (-25 and 65 in the script below).
output: - platform: esp8266_pwm id: servo_output pin: GPIO15 frequency: 50 Hz servo: - id: servo1 output: servo_output auto_detach_time: seconds: 5 number: - platform: template id: feederServo name: Feeder Servo max_value: 100 min_value: -100 icon: mdi:sync optimistic: True initial_value: 0 step: 5 on_value: then: - lambda: !lambda |- id(servo1).write(x/100); script: - id: feed_fish_script then: - servo.write: id: servo1 level: !lambda |- return -25 / 100.0; - delay: 1s - servo.write: id: servo1 level: !lambda |- return 65 / 100.0; button: - platform: template id: feed_fish name: "Feed Fish" icon: mdi:fish on_press: - script.execute: feed_fish_script