NO LONGER MAINTAINING THIS PROJECT THIS PROJECT WAS PORTED TO A THINGSPEAK BASED SOLUTON HERE: https://github.com/hattybin/pfd-ts REPOSITORY LEFT FOR REFERENCE
This project is a modification to a WoPet Dog Food Feeder to use a NodeMCU controller instead of the electronics it was sold with. I wanted a solution that didn't require cloud infrastructure and I one I could create APIs for to integrate into my other systems. The current prototype can trigger feeding via the webpage controls or a POST web request to /FEED or /STOP.
I spent most my time working out the electronics part and am using it currently since it is functional. I intend on adding more features and cleaning up the code as I have time.
ToDo:
- Add real time clock module or build my own circut using a crystal or something. I haven't dont RTC stuff with arduino before so I put this low on the prio list. This would be used for scheduling feedings. I currently have a server that send the API requests on a schedule for my pet's feedings.
- Add visble feedback of some kind. LEDs, LCD/OLED with data, anything really...
- Audio? The original product had a mic and speaker with a DAC so users can record a message to play when feeding is triggered. I have the hardware but I don't know how to use I2S yet.
- Button to trigger a manual feeding. This will be done very soon.
Current features:
- Wifi only. No bluetooth
- Async web interface to trigger, stop and set the portions per feeding.
- Persistant storage of settings in text files using SPIFFS
This is the top of the first functional prototype board:

Parts:
- NodeMCU - https://www.amazon.com/dp/B081CSJV2V?psc=1&ref=ppx_yo2ov_dt_b_product_details
- DC motor driver https://www.amazon.com/dp/B00M0F243E?psc=1&ref=ppx_yo2ov_dt_b_product_details
- IR Optical Optocoupler https://www.amazon.com/dp/B08977QFK5?psc=1&ref=ppx_yo2ov_dt_b_product_details
- Momentary button (optional)




