An open-source water dispenser using Raspberry Pi / Orange Pi utilizing Edge-AI technology for resource-constrained devices. (Code, Circuit Design and Casing Design will be remodeled soon, project deadline on July 2025, Personal Gathered and Curated Image Dataset will be provided also). See early prototypes here (Still gathering images with Roboflow and using proper curation with FastDup).
- Automatic Dispensing - Automatically dispense upon container recognition as well as stop operation upon closely full of the said container.
- Compatibility with Orange Pi One
- Customizable and Hackable like Mugsy
- ESP32/8266 Board
- Libraries:
- OneWire
- DallasTemperature
- HX711
- TFT_eSPI
- GUIslice
- Arduino IDE
- GUIslice Builder
- Image2c:
- Blender (Optional in Windows)
- Fritzing (Optional in Windows)
- List available sound devices:
(Identify the card number corresponding to the headphones for the speaker.)
aplay -l
- Edit the ALSA configuration file:
nano ~/.asoundrc
- Add the following configuration (adjust the card number if necessary):
pcm.!default { type hw card 2 } ctl.!default { type hw card 2 }
- (Instructions for setting up a script to run on boot can be added here.)
sudo shutdown -r now
Note: It is recommended to use Remote Desktop to the Raspberry Pi for easier debugging.
- Software Installation: Install the required software listed above.
- Library Installation: Ensure all required libraries are installed.
- Clone the Repository:
git clone <repository-url>
- Navigate to the Project Folder:
cd <project-repo-folder>
- Prerequisites:
- Main Materials: ESP32 and Raspberry Pi 4B (also applicable to Orange Pi One)
- Circuit Design: The design is provided in Fritzing format in
Circuit Design/Circuit_Design_EPES_v2.0.0.fzz
. - Libraries: Ensure all necessary libraries (listed above) are installed.
- Python Prerequisites: Located in
Code/Raspiberry_Pi/src
(refer to therequirements.txt
file for installation). - Casing: The 3D model is available in the
3D Model/Project_EPES_v1.0.0.blend
(Blender file format).
- Test the System:
- Run the Python script to test the whole system:
python classify.py
- Run the Python script to test the whole system:
Contribution section are still a work in progress. If you would like to contribute or have any suggestions, hit me up with a private message on Discord:
Discord Details:
- Username:
.adriancc
- Display Name:
Yang
- User ID:
531056443940536320
This project is licensed under the MIT License.