Skip to content

Instantly share code, notes, and snippets.

@rubin110
Created July 14, 2023 15:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rubin110/ba3f5ac71144b8aeeb52b60da8435fcc to your computer and use it in GitHub Desktop.
Save rubin110/ba3f5ac71144b8aeeb52b60da8435fcc to your computer and use it in GitHub Desktop.
ESPHome config to drive a simple stepper as part of a cat / pet feeder, original design by n9jcv
# ESPHome config to drive a simple stepper as part of a cat / pet feeder.
# The 3D project I printed is:
# Pet Feeder Treat Dispenser Web App Enabled by n9jcv
# https://www.printables.com/model/142993-pet-feeder-treat-dispenser-web-app-enabled
# device_base includes your standard esp config, logger, api, ota, web_server, wifi,
# and a few sensors to provide HA with more info.
substitutions:
device_name: "cat-feeder-1"
friendly_name: "Cat Feeder 1"
project_name: "cat-feeder-1"
device_description: "cat-feeder-1"
project_version: "1.0"
relay_restore_mode: RESTORE_DEFAULT_OFF
platform_name: esp8285
board_name: esp01_1m
esp8266:
early_pin_init: false
packages:
device_base: !include common/device_base.yaml
stepper:
- platform: uln2003
id: stepper_motor
pin_a: 5
pin_b: 4
pin_c: 14
pin_d: 12
max_speed: 250 steps/s
# Optional:
acceleration: inf
deceleration: inf
sleep_when_done: true
button:
- platform: template
name: "${friendly_name} Rotate Right"
id: rotate_right
on_press:
# Move 150 steps forward
- stepper.report_position:
id: stepper_motor
position: 0
- stepper.set_target:
id: stepper_motor
target: -256
- platform: template
name: "${friendly_name} Rotate Left"
id: rotate_left
on_press:
# Move 150 steps forward
- stepper.report_position:
id: stepper_motor
position: 0
- stepper.set_target:
id: stepper_motor
target: 256
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment