This project implements the firmware for an ESP32-based pet feeding device, where the user can schedule the times at which food portions need to be served.
The device works together with a Mobile App, through which it can also be controlled.
Make sure to also visit the App respository: Meaw-PetFeeder-App
The project was created as part of the discipline "Embedded Systems" (PMR3402) for my Mechatronics Engineering course at Escola Politécnica da Universidade de São Paulo (USP).
Click the image below to check the video of the project on YouTube (automatic English subtitles available).
• Connect to mobile app using a device ID code;
• Program up to 30 daytimes at which food is to be served;
• Erase existing times;
• Serve food at anytime by selecting "serve now";
• Get an alert when the food level in the reservoir is low.
- The firmware of the device runs a state machine, processing external (user inputs, app connection) and internal (reaching a saved time, low level) events to switch between different states.
- FreeRTOS is used to run simultaneous tasks such as the state machine, checking food level and checking current time.
- Current time is obtained via internet. Further improvements may include a physical Real Time Clock module.
- The physical device serves an API, to which the app connects and makes requests.