Skip to content

bn326160/pet-feeder-esphome

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pet Feeder Header

Pet Feeder

Smart feeder for pets. Works according to schedule. Supports Wifi and ESPHome. Based on ESP8266.

Acknowledgements

This project is forked from Bmdenisov. I found this feeder on Printables. I have used the hardware and rewritten the software in ESPHome.

Features

  • Scheduled feeding
  • Supports WiFi
  • Supports Home Assistant

Roadmap

  • Scheduled feeding
  • Status LED
  • Keep track of last fed moment
  • Reverse motor to clear blocked kibble
  • Estimate remaining kibble
  • Skip schedule if fed manually
  • ...

Web Server

Feeder settings are available on the device web page http://pet-feeder.local/.

final

Lessons Learned

Consider ordering the PCBs assmbled (or at least the SMD components), or have a hotplate with solder paste and a stencil to solder the SMD-components. It's not fun to do by hand!

Bill of materials (BOM)

Resistors and capacitors (0805)

Capacitors Resistors
3.9nF 1k
10nF 6.8k
2x 100nF 5x 10k
10uF 18k
2x 22uF 47k
100k

Ensure you have a TTL/FTDI adapter to flash the ESP8266 board.

Hardware installation

Electronics

In the PCB folder you will find everything you need to produce a printed circuit board.

Final view of the printed circuit board: pcb

Wiring

Stepper motor

I had some trouble finding the correct connections to wire up for the stepper motor. (Although it turns out that one of my aligator clip wires was broken).

It's recommended to verify which coils belong together. You can check this trough setting your multimeter to coninuity and check which wires belong together on your stepper motor.

I found, that in my case I wired it as such:

Stepper wiring 1

I wired my included stepper wire to the JST cable I ordered. This is the color scheme from the perspective of the stepper wire (the side where green and blue wire are crossed):

Stepper wiring 2

Touch button

Button wiring

LED

LED wiring

Power supply

PSU wiring

Microsteps

The switches on the PCB allows you to select your microsteps on the A4988 driver.

All 3 switches need to be set to HIGH if we want 16 microsteps to use.

MS1 MS2 MS3 Microstep Resolution
Low Low Low Full step
High Low Low Half step
Low High Low Quarter step
High High Low Eighth step
High High High Sixteenth step

To drive the NEMA 17 (with 1.8° step angle or 200 steps/revolution) in quarter-step mode, the motor will produce 800 microsteps per revolution.

Source

Current limit

Optionally you can set the current limit on the drivier. Set the 3 microsteps switches to LOW, connect 12V to the board, measure voltage across the current potentiometer and ground (GND).

Vref = Current Limit / 2.5

Source

Case

The STL folder contains all the files necessary for printing.

Reductor

Reductor designed for stepper motor Nema 17. reductor reductor Use M3x30 countersunk screws to attach the reduction box to the assembly.

Assembly

Step 1 step_1 Step 2 step_2 Step 3 step_3 Step 4 step_4 Step 5 step_5 Slice slice Final final

Software Installation

Flashing to the board

Wiring the TTL/FTDI

  1. Make sure to set your TTL/FTDI in 3.3V mode.
  2. Make sure you have the right drivers installed and your system recognizes the serial port.
  3. Bridge GPIO0 and GND to ensure the ESP8266 boots in flash mode.
  4. Power the board by connecting VCC and GND
  5. Connect the serial wires, usually you cross TX and RX, however, I found that on this board I had to wire TX to TX and RX to RX.

Stepper wiring 1

ESPHome

  1. Install ESPHome
  2. Run esphome run feeder.yaml

License

MIT License

About

Pet feeder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published