model-animation.mp4
This automated pet feeder system ensures your furry friends are fed on time, every time! The system combines hardware components (load cell, servo motor, ESP8266, and Micro:bit) with a custom Java application to schedule and monitor feeding times.
The system precisely measures food weight using a load cell, dispenses food with a servo motor, and connects to a centralized server to store feeding data and allow remote management.
bandicam.2025-01-20.16-03-59-072.mp4
The /3DModel
folder contains all the STL files and design documents for the 3D printed components of the pet feeder. These parts were designed to fit the electronic components perfectly while maintaining an aesthetically pleasing look.
The /Application
folder houses the Java application that provides a user interface for setting up feeding schedules, monitoring food levels, and viewing feeding history. Built with JavaFX for a modern, responsive UI that communicates with the server to send commands to the feeder.
The /ESP8266
folder contains Arduino code that runs on the ESP8266 WiFi module. This code handles communication between the physical feeder and the server, as well as controlling the servo motor based on received commands.
The /MicroBit
folder includes the code that runs on the BBC Micro:bit, which serves as a secondary controller and provides additional functionality to the system.
The /Server
folder contains the Node.js backend that acts as the middleware between the Java application and the feeder hardware. It uses Express for API endpoints and Sequelize ORM with MySQL to store feeding schedules, history, and configuration data securely and efficiently.
- Print the 3D model components
- Assemble the hardware according to the schematics in the documentation
- Flash the ESP8266 and Micro:bit with their respective code
- Set up the server:
cd Server npm install # Configure .env with your MySQL credentials npm start
- Launch the Java application and connect to the server
- Configure your feeding schedule and enjoy!
I didn't win the trophy for this school challenge, but I felt it needed to be posted because I worked incredibly hard on this project. It represents days without sleeping (a lot of sleepless nights), troubleshooting, and determination to create something functional.
Every line of code, every 3D print, every circuit connection has a story of persistence behind it. This project taught me that success isn't just about winning trophiesβit's about what you learn along the way.
I'm a warrior made by @imroodydev, ready to tackle any coding challenge! Hopefully, this project showcases my skills and dedication as I search for employment opportunities in the tech industry.