Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matheuscavini/meaw-petfeeder-firmware
Firmware for a programable pet food dispenser device. Check also: https://github.com/MatheusCavini/Meaw-PetFeeder-App
https://github.com/matheuscavini/meaw-petfeeder-firmware
app cpp esp32 freertos iot pet-project pets smarthome state-machine time-schedule
Last synced: 8 days ago
JSON representation
Firmware for a programable pet food dispenser device. Check also: https://github.com/MatheusCavini/Meaw-PetFeeder-App
- Host: GitHub
- URL: https://github.com/matheuscavini/meaw-petfeeder-firmware
- Owner: MatheusCavini
- Created: 2024-05-16T15:49:42.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-13T23:25:16.000Z (4 months ago)
- Last Synced: 2024-07-14T18:38:11.592Z (4 months ago)
- Topics: app, cpp, esp32, freertos, iot, pet-project, pets, smarthome, state-machine, time-schedule
- Language: C++
- Homepage:
- Size: 36.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Meaw Pet Feeder: Firmware
## Introduction
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](https://github.com/MatheusCavini/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).
## Demonstration
Click the image below to check the video of the project on YouTube (automatic English subtitles available).
[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/Ps0keci-ifc/0.jpg)](https://www.youtube.com/watch?v=Ps0keci-ifc)
## Features
• 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.## Technical Aspects
- 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.