Munch-E automatic pet feeder with arduino super cheap





Description
Munch-E: A Simple, Affordable, and Easy-to-Use Pet Feeder for Everyone
After a long time of designing, testing, and coding, Munch-E is finally ready!
Munch-E is a low-cost, easy-to-build, pet feeder designed mainly for cats dogs. It holds between 750 g to 1.5 kg of food and comes with customizable bowls for different sizes of pets.
YOU CAN CHOOSE how much food the Munch-E can hold in the food compartment and in the bowl. So if you are out of the house for a few days the Munch-E handels it all with its internal timer.
One of the smartest features is the two potentiometers placed on the back:
The first controls the time between each feeding, with 20 steps – each step equals 1 hour.
If you place the cursor between to steps that will be 30 min.
The second controls how much food is released, with 8 steps – each step adds 50 g.
If you place the cursor 1/5 between 2 steps that will be 10 g.
preview / demo here you can get a quick feeling what the Munch-E is.
https://www.youtube.com/watch?v=Ton7nW5cehs&t=2s
I’m a 14-year-old from Denmark who loves building and designing things. Munch-E started as a fun project for my two cats, but it turned into something that I think can really help a lot of other pet owners too. Because in my case me and my family are on a lot of trips and it is not always that we can get someone to come feed our cats but that isn't a problem anymore now that we have the Munch-E.
It is 100% self running so if you just put like 1,5 kg food in the container will last a while. Perfect for someone new to electronics and travels a lot.
You only need to assemble Munch-E once. After that, you can simply adjust it with the knobs — no need to open anything or take it apart every time you want to make changes.
It’s especially great if you have slightly overweight pets like me. I have two cats, Coober and Baloo – they’re a little chubby. 😅 With Munch-E, it’s much easier to find the perfect feeding schedule and portion size to help them slim down and stay healthy.
The most important things for me was that the Munch-E could be made by as many as possible so I have made the design maker friendly and only used cheap and easy to use components. I have really made an effort to making a good tutorial to understand even if you don't know any electronics or code.
While designing the Munch-E, I considered a lot of different aspects—like how to make it as maker-friendly as possible. I think I did a pretty good job at that since, once you have all the parts, it can be assembled in about 45 minutes.
I also wanted to make cleaning and maintenance as easy as possible, which is why no hardware is required, and the whole thing can be taken apart effortlessly.
And, surprisingly, I even thought about how rounded the edges should be—because my cat seems to love rubbing its whiskers on just about everything!
When designing the bowls, I focused a lot on the comfort of the animals. Many bowls are too narrow and can stress a cat’s sensitive whiskers. That’s why I made the bowls wide and shallow – making it more comfortable for cats (and dogs) to eat without frustration, but still keeping the design compact and clean.
The bowls is also easy to take off and put on and even easy to make your own. The bowl locks securely in place with two pegs that fit into the feeder, so it won’t slide or move while your pet eats.
I am always improving the design so if you decide to make it yourself it will not look the exact same but the assembly will be the same.
Munch-E uses only basic, cheap components: an Arduino Nano, an L298N motor driver, a 12V motor, a couple of potentiometers, some jumper wires — and that’s it. No fancy electronics needed.
This makes it super affordable to build, and easy to customize if you want to design your own bowls or modify it further.
The design is minimalistic and sleek, focusing on simplicity both inside and out. It’s crafted to make assembly quick and easy, with no unnecessary parts. I’m constantly improving the design to make it stronger, more compact, and smarter, ensuring it’s both functional and durable.
The entire project was made with simplicity and flexibility in mind:
No heat inserts, no complicated hardware, no special tools needed.
Just 3D print, plug in a few wires, upload the code, and you’re ready.
💡 Have a great idea? Leave a comment or remix the model:
If you want, you can also easily remix the design! I made the mechanism modular so you can upgrade it in the future with things like a display that shows the remaining food level, or sensors that detect when the food runs out.
please print these out of petg (if you have) :
The bowl(s)
Snail drill
The gears
you can print these out of pla if you want:
The main compartment
The food container
The lid
The backlid
The feeder mecanisme
print at 0.2 mm layerhight and normal speed
for the snail drill make sure that you have a 15 mm brim with brim-object gap on 0
📌 Tutorial:
https://www.youtube.com/watch?v=azCn0Jv8-Fs&t=2s
What You Need to Build It:
A soldering iron + solder wire (and optionally some flux)
Part Link
Arduino Nano Buy here : https://a.aliexpress.com/_EITZFPc
L298N Motor Driver Buy here: https://a.aliexpress.com/_EuOwcGi
12V 60 RPM Motor Buy here: https://a.aliexpress.com/_EHtEBKi
12V 1A Power Supply Buy here: https://a.aliexpress.com/_EvfZ19Y
2x Potentiometers Buy here: https://a.aliexpress.com/_EvpF47u
Jumper Wires Buy here: https://a.aliexpress.com/_EJbl1BM
Mini Breadboard Buy here: https://a.aliexpress.com/_Ex4fsAm
If you have 2 m3 screws use them for more strength.
THE CODE:
int in1 = 11;
int in2 = 12;
byte madMeter = A3;
byte tidMeter = A4;
// GPS means grams per sek
const int GPS = 25;
//----------------------------------------------------------
// IF YOUR MOTOR SPINS IN THE WRONG DIRECTION CHANGE THIS TO "bool motorDirection = false" change the "true" to an false :)
bool motorDirection = true;
// if your motor spins in the wrong direction please change the true right above here to an false :)
// just some timers
unsigned long madDose;
unsigned long venteTid;
unsigned long sidstSendtData;
unsigned long beforeTid;
unsigned long ventetTid;
unsigned long tidTilbage;
void givMad() {
beforeTid = millis();
if (motorDirection == true) {
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
} else {
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
delay(((madDose 10) / GPS) 1000);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
}
void sendData() {
Serial.print(" wait time in sek == ");
Serial.println(venteTid);
Serial.print(" food dose == ");
Serial.println(madDose);
Serial.print(" last feeding time == ");
Serial.println(beforeTid);
Serial.print(" food potentiometer == ");
Serial.println(analogRead(madMeter));
Serial.print(" time potentiometer == ");
Serial.println(analogRead(tidMeter));
Serial.print("time left ");
Serial.println(tidTilbage);
Serial.print("millis: ");
Serial.println(millis());
Serial.print("waitet time : ");
Serial.println(ventetTid);
Serial.println();
sidstSendtData = millis();
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(madMeter, INPUT);
pinMode(tidMeter, INPUT);
sidstSendtData = millis();
beforeTid = millis();
}
void loop() {
// put your main code here, to run repeatedly:
// her kan man skrive hvor lang tid der skal være mellem
venteTid = map(analogRead(tidMeter), 0, 1023, 0, 40) * 1800000;
madDose = map(analogRead(madMeter), 0, 1023, 0, 40);
if (millis() - beforeTid >= venteTid) {
beforeTid = millis();
givMad();
}
//Sender data i serialmonitor
if (millis() - sidstSendtData >= 2000) {
sendData();
}
//regner ud hvor lang tid der er tilbage til mad
ventetTid = millis() - beforeTid;
tidTilbage = (venteTid - ventetTid) / 1000;
}
Let’s build something amazing together! 🚀
If you have ideas for improvements, feel free to leave a comment or create your own remix!
If you love Munch-E, please give it a like – it really helps after the many hours spent designing, testing, and perfecting it.
Designed in Onshape by Thøger Riishøj Kronholt.
This design is free for personal use only – please do not sell it without permission.









