Skip to main content
Version: FILS English

Smart Pet Water Dispenser

A smart device that automatically refills a pet's water bowl and monitors water temperature, providing convenience for pet owners.

info

Author: Cosac Alexia
GitHub Project Link: https://github.com/UPB-PMRust-Students/project-alexiacosac

Description​

The Smart Pet Water Dispenser is an automated system designed to keep pets hydrated by refilling their water bowl whenever the level drops too low. Powered by a Raspberry Pi Pico W, it uses a water level sensor and a water pump to maintain consistent water levels without constant human intervention.

To ensure safety and usability, the system also monitors water temperature via a sensor and displays it on an LCD screen, while an RGB LED provides status indicators (green for normal, red for errors). It also features remote connectivity for monitoring and controlling the system through a simple web interface.

Motivation​

I chose to work on this project because ensuring pets have constant access to clean water is a common challenge for many pet owners, especially during busy schedules or when away from home. As a cat owner, I have personally faced the difficulty of maintaining a reliable water supply for my pet, which motivated me to develop the Smart Pet Water Dispenser.

Architecture​

The architecture components of the Smart Pet Water Dispenser:

  • Sensor Data Processing Component – Responsible for receiving and processing input from the water level and temperature sensors. It continuously monitors the state of the system to provide relevant data to the control unit.

  • Control Logic Component – The central decision-making unit that evaluates sensor data to trigger appropriate actions. Based on the water level and temperature readings, it decides whether to activate the water pump or signal an alert via the RGB LED.

  • Actuation and Feedback Component – Manages the response of the system to control signals. It operates the water pump to refill the bowl and uses the RGB LED to provide feedback about the system’s health (e.g., red for errors, green for normal operation).

  • User Interface Component – Displays real-time data, such as water temperature and system status, to the user via an OLED display. It ensures visibility into the system's current state.

  • Connectivity and Remote Monitoring Component – Allows the user to monitor and control the dispenser remotely via a web interface. This module communicates with the Raspberry Pi Pico over a network to offer access to system data and control over actions such as refilling the water remotely.

Diagram

Log​

Week 5 - 11 May​

Week 12 - 18 May​

Week 19 - 25 May​

Week 26 - 2 June​

Hardware​

The hardware components include:

  • Raspberry Pi Pico

    Controls the entire system and interfaces with sensors and actuators.

  • ESP8266 or ESP32 (Wi-Fi Module)

    Provides Wi-Fi connectivity for remote monitoring and control.

  • Water Level Sensor

    Detects when the water level drops and triggers the pump.

  • Temperature Sensor (DS18B20)

    Monitors the water temperature and displays it on the OLED screen.

  • Electric Water Pump (5V)

    Pumps water into the bowl when the level is low.

  • Relay or MOSFET

    Switches power to the water pump safely.

  • Diode

    Protects the circuit from back EMF generated by the pump.

  • RGB LED

    Shows system status (green for normal, red for errors).

  • OLED Display

    Displays water temperature and system status.

  • 5V Power Supply

    Powers all system components.

  • Breadboard and Jumper Wires

    For prototyping and connecting components.

  • Tubing and Water Reservoir

    Stores and transports water to the pump.

  • Resistors

    Limits current to protect components.

Schematics​

Place your KiCAD schematics here.

Bill of Materials​

DeviceUsagePrice (RON)Link
Raspberry Pi Pico WMain microcontroller with Wi-Fi39.97Robofun
ESP8266 Wi-Fi ModuleProvides Wi-Fi connectivity19.00Robofun
Water Level SensorDetects low water level33eMag
DS18B20 Temperature SensorMonitors water temperature9.62Robofun
Electric Water Pump 5VPumps water into the bowl13.49eMAG
Relay Module 5VControls power to the water pump12.00Robofun
1N4007 DiodeProtects circuit from back EMF0.25Vendigo
RGB LEDStatus indication (green, red)11.4Robofun
OLED Display 0.96"Displays water temperature and system status35eMag
5V Power SupplyPowers the entire system12.00Robofun
Jumper WiresConnecting components on breadboard2.6Robofun
Silicone Tubing 1mTransports water from reservoir to bowl9.00Iazuri Acvarii

Software​

LibraryDescriptionUsage
rp2040-halControls GPIOs, timers, and PWMUsed for controlling sensors and the water pump
embedded-halStandard interface for external devicesUsed for hardware abstraction
panic-haltStops the program on critical errorsUsed for error handling
embassyManages asynchronous tasksUsed for task management
ds18b20Reads temperature from DS18B20Used for reading water temperature
ssd1306Displays information on OLED screenUsed for displaying water temperature
smart-ledsControls the RGB LED indicatorUsed for visual status indication
pwmControls the power level of the water pumpUsed for controlling water pump speed
wifiManages Wi-Fi connectivityUsed for connecting to the network for remote control and monitoring
hyperHTTP libraryUsed for building the web interface to monitor and control the dispenser remotely

How to run a web server with Raspberry Pi Pico