This is our dog Bailey. She’s part Border Collie and Australian Cattle Dog so sometimes she’s smarter than her own good, especially when it comes to telling time and knowing when she should be eating dinner. Typically, we try to feed her around 6 PM but this isn’t always easy if we’re away from home. The Alexa Controlled Dog Feeder was created as the perfect solution to feeding Bailey while we’re away from home to make sure she doesn’t get restless and can still keep to her schedule.
The code is based on this project from Bob at I Like to Make Stuff which takes care of the base code for communicating with an Alexa device. The nice thing about using Alexa as the main communication system is that it can be controlled using the Alexa app on your smartphone, eliminating the need for any complex servers or advanced coding. The supply list is relatively short and the entire project itself can probably be finished in an afternoon once everything is collected.
If you like what you see then please vote for me in the Pet Contest! I hope you find this Instructable helpful and let me know if you have any questions following along.
Step 1: The Design
I already made Bailey a small food stand that’s a miniature version of our dining table for her food and water bowl to rest on. To optimize space I wanted the feeder to fit on this food stand and only hold a few servings of her food. The feeder is mainly supposed to be used for the small number of occasions when we’re not home so I don’t need it to fit a lot of food (just a few servings). If this doesn’t fit your needs then don’t worry as the dimensions can be scaled up or down pretty easily. The electronics will stay the same and you can adjust your feeder structure around them to fit your needs.
The structure itself is made up of two main chambers: one for the food and one for the electronics. The food will drop down from the containment area and into a PVC pipe. The PVC pipe is inside the electronics containment area which houses two PVC T-pipes with a motor and 3D printed auger running through the pipes. Once the food drops into the first PVC pipe it’ll be moved linearly by the auger until it drops out the second PVC pipe and down into the bowl. Upon testing the auger I’ve noticed it jams occasionally and causes the motor to stall. In future versions I plan on looking at this mechanism further to minimize this from happening. Again, the nice thing about this project is the main guts (i.e. electronics) can be adapted easily for whatever food delivery mechanism you decide on.
I chose to make the structure itself out of 1/2″ plywood I had lying around. The pieces are assembled using a mix of wood glue and pocket hole screws to make sure they’re secure. I also chose to use a leftover piece of acrylic for the top to make it easy to fill the food back up and see how much food is left.
Step 2: Materials
Most of the materials can be purchased from your local hardware store and Amazon for cheap. The exception for this is the PVC pipe supports that are 3D printed, however you could get creative with pipe mounts and end caps to avoid this. The PVC pipes also need to be cut down so they’re 2.75″ long in order to fit within the structure.
1. 1/2″ Plywood
2. 1/8″ Acrylic
7. Arduino UNO
8. Node MCU
10. Jumper Wires
11. Pocket Holes Screws
12. Wood Glue
13. Arduino Power Supply (9V-12V)
– Circular Saw
– 3D Printer
– Pocket Hole Jig
– Soldering Iron (optional, but helpful)
– Heat Shrink Tubing or Electrical Tape
– Hot Glue Gun
Step 3: The Electronics and Code
The electronics setup is fairly simple and follows a basic chain of command using an Echo Dot, Node MCU, Arduino Uno and stepper motor. The Node MCU has code on it that connects to your wifi network. Once it’s connected to the internet it broadcasts itself as a Wemo smart plug for the Alexa device to connect with. From here it waits for Alexa to send a command and then briefly sets one of the pins to HIGH which then triggers the Arduino to run the stepper motor. I also added a button for manual feeding. This allows me to dispense the necessary amount of food but bypasses using Alexa and is mainly used for testing.
I was unable to get Echo Dot (2nd gen) to discover the Node MCU initially. I found it to finally work after I downgraded both the “fauxmo” library and “esp8266” board to version 2.3.0 in Arduino IDE. Once I did this then I just proceeded with Alexa discovering new devices and it had no issues finding it.
Read more: Alexa Controlled Dog Feeder