The automatic chicken feeder is a project developed to automate the feeding of chickens. This system is designed to increase efficiency in poultry farming, optimize feeding, and reduce the daily maintenance effort for poultry care.
- Automated feeding at scheduled times
- Configurable feeding schedules and quantities through a web-based user interface
- Secure storage of feeding data in the microcontroller's permanent memory
- Creates a secure Wi-Fi network for system configuration and monitoring
- Can enter a power-saving mode to extend battery life
- ESP32 microcontroller
- Motor control module (e.g., servo motor)
- DS3231 Real-Time Clock module for accurate timekeeping
- Smartphones, tablets, or computers with a web browser and Wi-Fi
- Power supply (battery or power adapter)
- Clone this repository.
- Rename
data/config.json-templatetodata/config.jsonand change the default values to your preferences.
cp data/config.json-template data/config.json- Install dependencies (VSCode extension PlatformIO IDE and PlatformIO Core).
- Configure the
platformio.inifile to select the correct board and port, or start a Nix shell.
nix-shellThe Makefile provides a set of commands to build, flash, and monitor the microcontroller. You might need to adjust the PORT variable in the Makefile to match your system configuration. The default value is /dev/ttyUSB0. The following commands are available:
make help: Show help messagemake shell: Start a Nix shellmake build: Build firmwaremake flash: Flash firmware to microcontrollermake monitor: Monitor serial outputmake clean: Clean build filesmake fs: Build the SPIFFS file systemmake uploadfs: Upload the SPIFFS file systemmake reupload: Reupload the SPIFFS file system and open a serial monitormake reload: build, flash and monitormake start: build SPIFFS file system, upload SPIFFS file system, build firmware, flash firmware, and open a serial monitor
- PlatformIO and ESP32
- ESP32 Datasheet
- DS3231 RTC
- RTC Interrupt
- RTC Synchronization
- Battery Operation
- ESP32 deep sleep
When you use the ESP32 in Access Point mode, the ESP32 creates its own WiFi network. The default IP address to access the ESP32's web server is: http://192.168.4.1 You can open your web browser and enter this IP address to access the web services and features provided by the ESP32.
We welcome contributions and collaboration on this project. If you would like to make improvements, fix bugs, or add new features, please create an issue or a pull request.
