Introduction: PetFret: Smart Pet Feeder

Hello, my name is Henri Van Oost and I am a student at Howest Kortrijk. I have made this IOT-project in my first year of Mulitimedia and Communication Technology.

I came up with the idea because I have a cat and a dog at home and it wanted to make feeding them way more easier (or lazy ;) ). So I've build PetFret: a smart pet feeder.

Below you can read all the necessary steps that I've had to go through in order to bring the project to a succesfull outcome.

Step 1: Components and Materials

For my project I used a lot of different components to be able to bring everything to a good end. The components

that I used are listed below. The total cost for this project was around €256.

Components :

  • Raspberry Pi 4 model B
  • Raspberry Pi power supply
  • Raspberry Pi T-cobbler
  • 16GB micro SD-card
  • Breadboard
  • Temperature Sensor ~ DS18B20
  • Non-Contact Watersensor ~ XKC-Y25-NPN
  • 3 weight sensors ~ HX711
  • 4.7K Resistor
  • LCD 16x2
  • Servo motor ~ MG996R
  • Female to Female jumper wires
  • Male to Male jumper wires
  • Female to Male jumper wires
  • Waterpump
  • 12V Supply
  • Relais
  • PIR Sensor


  • Wood
  • Plexiglass
  • 2 food bowls


  • Industrial wood saw
  • Electric saw
  • Electric screwdriver
  • Soldering Iron Drill
  • Knife

In the pdf file below you can see the complete price list of all my materials.

Step 2: Database

After i figured out every component, I started to create a entity relationship diagram.

With my database you are able to see:

  • The current value of the supplies and bowls
  • The temperature of the water
  • History of measurements
  • List of sensors
  • Opportunity for accounts
  • Food details

I hosted my database on my RPI using MariaDB

Step 3: Fritzing Scheme

After everything was figured out, it was time to put my hardware together. I've made first a Fritzing Scheme so I could not do anything wrong which could cause a short circuit. For creating this scheme i used the program Fritzing.

Step 4: Assembling the Hardware

Once my fritzing scheme was finished and I was satisfied with it, I started putting my hardware together. I started with my temperature, PIR-sensor and non-contact watersensor. I did that because the sensors looked the easiest to me. The weight sensors were the last thing I did of the sensors because I had some troubles to program it.

After the sensors were done, I did my LCD.

The last step was to connect my actuators. The first actuator I connected was my servo. Once I succeeded I switched to the last actuator: my waterpump.

You can find my code on github:

Step 5: Mobile First Website

In order to be able to display all the data measured by my sensors I decided to make a webapplication. First I've made adesign in Adobe XD. When my design was ready, I've made it in HTML, CSS and Javascript. You can also feed your pet by using my site.

Step 6: Building the Case

Then it was time to make my enclosure. For my materials I went to Brico and bought wood an plexiglass. I made the outside of my box from wood that I cut by myself.I put plexiglass so you can easily see the supplies.