Vending Machine for Birds

Simple, inexpensive bird feeder that dispenses peanuts in exchange for dropping stuff in a hole. A vending machine for clever birds.

Public Chat
Similar projects worth following
An inexpensive, simple bird feeder that dispenses a nut for stuff and can be built from analog components and discarded or scrap objects. Rodent proof, runs on 5-7V, one moving part (vibration motor). No 3D printing or laser cutting required, just some basic hand tools. Lots of improvement and customization possibilities. Lots of possibilities for the enclosure.

- comes on when it sees a warm body, stays on until it's gone
- detects when something is dropped in the hole, anything that fits and reflects IR will work
- dispenses a shelled peanut (maybe two or three)
- dispenser design is rodent-proof
- cheap to make (< €100 if you start with nothing and buy everything, electronic components cost ~15 EUR, the rest is the dispenser and enclosure which can be made from scrap)
- small enough to be portable with various mounting options
- easy customize and improve upon

I had been thinking about this project for a while and got really inspired by Hans Forsberg's efforts and results. I wanted to make a very simple version of what he's been doing. I also wanted it to be small, cheap, using common analog components and discarded items.

I wanted to avoid programming and 3D printing - not that I don't love that stuff, but to keep this mechanically and electrically simple, cheap and accessible. I might make a microcontroller-based model later, but I like to work with analog for simple projects like this as it tends to limit the irrisistable scope creep that constantly tempts me to add more features.

I hope this can be the type of project you can build quickly and easily, experiment, try it out and improve on it over time.  There is a lot of room and possibilities for improvement and enhancement. Solar charging, computer vision, do it all with a single microcontroller, print better parts, more efficient design, better power management... lots of room for improvement :)

I've already built a prototype and started testing it with birds that visit my balcony (mostly pigeons, but some jackdaws, crows and magpies). The vibration motor does not startle them - especially when they learn it means a peanut is coming,

The circuit is fairly straightforward:

  • PIR sensor (the one thing I could not find laying around and had to buy. This turns on the rest of the circuit when triggered.
  • 555 monostable vibrator to keep the circuit on for ~30 secs after the PIR is triggered. There is a diode leading from pin 6/7 to the trigger. This allows the PIR to reset the timer during a cycle, keeping the thing continuously on while a bird is in front of the PIR.
  • LM358 dual op amp for the IR proximity sensors made from IR leds and phototransistors
  • another 555 for a monostable vibrator - when the drop sensor sees something it turns the vibration motor on, when the dispense sensor sees something it turns it back off. If the dispense sensor doesn't see a peanut within 24 seconds it turns the dispenser off.
  • a third 555 astable vibrator - to use as an optional timed dispense to get birds used to it as a food source
  • small DC motor (the one I used is marked 2 volts) with a slice of cork pressed on the axle and some screws in one side of the cork to make it vibrate
  • some resistors, capacitors, a few transistors and diodes and signal LEDs to indicate what's going on

The circuit was the simple part.

Biggest problem I had to solve was dispensing one (or maybe two) peanuts at a time reliably without a complex mechanism or making peanut butter. A vibration feeder made from two jar lids with offset holes finally did the trick. This was a challenging puzzle to solve. I probably spent most of the project time on this.

One interesting thing I discovered was that black shrink tubing, or anything matte and colored black with carbon, does not trigger the IR proximity sensors, making it a great material to use inside the enclosure around the sensors. It lets you turn up the sensitivity a bit without worrying about getting triggered by the enclosure itself - great for monitoring openings and chutes for passing objects.



The sensors and their op-amps are off until the PIR is triggered.

If it's in timer mode, the TIMER (astable vibrator) is also on.


  1. PIR sensor triggers monostable vibrator
  2. Sensor On/Off Monostable vibrator turns on rest of circuit via an NPN transistor and keeps it on for ~30 sec after the last PIR trigger


  1. Deposit sensor detects passing object and triggers op amp 1
  2. Op amp 1 triggers Motor Monostable vibrator to go high
  3. Monostable vibrator turns on vibration motor via an NPN transistor


  1. Dispense sensor detects a passing peanut and triggers op amp 2
  2. Op amp 2 triggers bistable vibrator to go low
  3. Monostable vibrator turns off vibration motor via an NPN transistor, or the motor will turn off by itself after 24 seconds (a bit long, and I will shorten it after some...
Read more »


Another pigeon using the bottlecap magazine.

MPEG-4 Video - 19.70 MB - 02/23/2023 at 01:30



Clip from seconds day after reinstalling the feeder. Dispenser needs tweaking.

MPEG-4 Video - 37.10 MB - 02/23/2023 at 01:02



Clip from seconds day after reinstalling the feeder. Dispenser needs tweaking.

MPEG-4 Video - 19.55 MB - 02/23/2023 at 01:02



Pigeon takes bottlecaps from the bottlecap magazine and sinks a couple.

MPEG-4 Video - 2.38 MB - 10/25/2022 at 20:14



Basic functional test of the new stripboard pcb with sensors and motor attached.

MPEG-4 Video - 43.53 MB - 09/16/2022 at 18:49


View all 17 files

  • 1 × 5-7V power supply USB charger or power banks work well. Lasts about a week on 10,000 mAh.
  • 1 × PIR sensor Small PIR sensor with short (1-3m) or adjustable range
  • 3 × NE555 Timer
  • 1 × LM358 Dual Op-Amp
  • 1 × Small DC Motor

View all 52 components

  • Dispenser - New vs Old

    Stephen Chasey10 hours ago 0 comments

    Here are some pics of the old (left) and new (right) vibration dispensers and a pic showing the inside of the new one. 

    The old one uses a mason jar lid, a 100mm end cap, and a ~90mm disc of PVC cut from another end cap as the vibration platform and a slice of wine cork and some screws to make the motor vibrate

    The new one uses a couple circles of flexible PVC board as the vibration platform and two sections of a small terminal strip with a 2mm bolt and 3 nuts to make the motor vibrate.

    The new one works a little better, is more reliable (I was always afraid the cork would fall off) and the parts are easier to make. 

  • Tiny first visitors

    Stephen Chasey5 days ago 0 comments

    The jackaws, pigeons and magpies have been eyeing the feeder all day - it's new to them, but it has food on it so they come by to check it out from time to time.

    These tiny birds (Eurasian blue tit, I think) were unafraid and raided the feeder for peanuts all day.

    I think it will take a few days before I get some visits from the other birds.

  • Moved out back

    Stephen Chasey7 days ago 0 comments

    I finally moved the feeder to the back balcony where I get a lot more jackdaw and magpie traffic and fewer pigeons (and no pigeon nests). Put some peanuts on the platform to draw them in. We'll see how it goes.

  • Quieter

    Stephen Chasey03/14/2023 at 00:36 0 comments

    I remade the dispenser asembly using  circles cut from a PVC plate ( which are a little softer than pipe PVC and has a bit of flex. The dispenser is much quieter now. No need to scavenge a large jar lid.

    I also replaced the cork with screws in it for a small terminal strip (pic below). It screws on to the motor shaft and you can add additional weight, like a bolt or nail. I get a lot more vibration with this and dispensing is a little more consistent than before. 

    It also did not get triggered by rain since I turned the deposit sensor sensitivity down a little. Lot of water in the collection bottle, but no problems. At this point I think I have worked out most of the functional issues I've encountered while testing this thing. 

    I still need to move it somewhere else due to the pigeon nest right next to it.

    This pic is of the new dispenser during assembly. I have already put it in the feeder and loaded it, so I'll try to post an image of the old and new dispenser assemblies side by side next time it's empty.

  • Dispenser Improvement Results

    Stephen Chasey03/10/2023 at 09:58 0 comments

    The previous improvements to the dispenser have worked out. It now dispenses reliably, taking less than a second to dispense one or two peanuts. Occasionally it takes between 2-3 seconds. There are still lots of possible improvements, but it's good enough for now.

    The dispenser is still louder than I want it to be. I could potentially annoy my neighbors. Making it a bit quieter is my next dispenser improvement.

    Two additional  issues have popped up.

    Rain and Snow

    We've had a decent amount of rain in Amsterdam over the past week, often mixed with snow. There were a couple instances where the rain was triggering the deposit sensor. When a bird landed it would start spitting out peanuts. They loved it.

    Turning down the sensor sensitivity a bit solved this for now. I am working on a way to better mitigate this.

    Pigeon Nest

    I was away for a few days, and during that time a couple of pigeons built a nest on my balcony about a meter from the machine. They are very territorial and chase all other birds away, so I will have to make a ground-mounting solution and move it out back. I don't want to mount it on the rear balcony railing as there is a chance that the birds will spill litter or bird poop onto my neighbor's garden below.

  • Nice DIY vibration dispenser example

    Stephen Chasey03/08/2023 at 16:36 0 comments

    I just came across a video frm Chris at Pratt Ceramics that shows off a vibration dispenser for candy and nuts that he made. The disign is simple and effective. The video below shows the build and the dispenser in action with candy and nuts. He's got some other videos showing further testing with different size and shape candies. I'll definitely keep this in mind as I try to improve my own dispenser. Thanks Chris!

  • Baffles!

    Stephen Chasey03/05/2023 at 11:56 0 comments

    After more testing with a slightly bigger hole and a heavier eccentric load on the motor, the real culprit appears to be too much load on the vibration plate by the column of nuts. When it's full the nuts put too much pressure on the dispenser and it has trouble vibrating enough. When the hopper is only half full it works great. I had added baffles a while ago to mitigate this, but need to rearrange them to reduce the load further on the vibration plate.

    I can go back to a 22mm opening and I think I'll keep the heavier eccentric load Rearranging the baffles a bit should solve this.

    Once this dispenser issue is solved I think it's "ready" as an MVP and I can build a second one.

     Everything else appears to be working fine: 

    • activating when a bird has landed/stepped on the platform
    • detecting deposited items
    • structural and mechanical integrity

    I hope to finish this up in the next few days. 


    New baffles seem to be working, even when completely full of peanuts. It's a little louder now, but dispenses faster. We'll see how it does tomorrow.

    UPDATE 2

    With the 22mm hole I had used a hole punch. Usually one side of the hole has a burr on it (exit side for the punch blades). I had purposely put this on the upward-facing surface of the dispenser thinking it would prevent accidental dispensing if the machine was bumped. Turns out this small burr on the edge of the hole contributed to the jams. I smoothed it out with a dremel and things are working better. Will see how the rest of the day goes. I've already had to fill the bottlecap magazine 4 times today. 


    The following all helped:

    • bigger eccentric load on the motor
    • repositioned baffles
    • filing off the burr around the lip of the dispenser hole

    There is still a lot of room for improvement, but it's been a great learning experience so far.

  • Dispenser Improvements

    Stephen Chasey02/27/2023 at 16:17 0 comments

    Not exactly a breakthrough, but a slightly larger dispense hole will make a big difference. 22mm is small enough for some larger peanuts to jam in if they hit it wrong, It then takes a while for them to get shaken out of the way or finally through the hole. This jamming is the main culprit behind my occasional slow dispense times.

    I'm going to elongate the dispense hole by~50mm towards the center of the jar lid. This should prevent jams from larger peanuts and improve dispense time and consistency without affecting dispense quatity much. I usually get one peanut now, and may get 2-3 more often after this modification. I plan to do this in the next day or so.

    On the side I've started prototyping a simpler version of the dispenser assembly that is adjustable to accomodate shelled and unshelled peanuts. Hopefully in the next couple of weeks.

  • New Videos

    Stephen Chasey02/23/2023 at 13:22 0 comments

    Here's a few clips from yesterday afternoon. You can see that the dispenser is not as reliable as it was before. I will need to make some adjustments to improve its performance.

    Unfortunately MotionEyeOS is corrupting some of my videos - I need to look into that.

  • Pigeons don't forget

    Stephen Chasey02/22/2023 at 16:18 0 comments

    It's been almost 4 months since the feeder was out and the pigeons were all over it for the last two days. Unfortunately only pigeons so far. Sometimes a couple of jackdaws will come watch them mess with the feeder, but haven't interacted with it yet. I should still have some good clips to share - I just need to go through them.

    I did have a couple of problems on the first day.

    1. The motor wires got tangled in the motor. Luckily no damage was done and untangling (and better placement of) the wires fixed it.

      I really need to tape them into place next time I refil.
    2. Dispensing took too long, like 5+ seconds most of the time. I had really pressed down all the fittings when reassebling this and forgot to give the vibration platform a little play. There is still room for improvement, but after some adjustment most dispenses take <3 sec.

      I think I will work on a slightly better version of the dispenser now. I can do that while the thing is up - it's not that bad at the moment.

View all 59 project logs

Enjoy this project?



John Opsahl wrote 09/23/2022 at 04:35 point

This project is way cool. Do you have a video of a bird dispensing an item and receiving a peanut? 

  Are you sure? yes | no

Stephen Chasey wrote 10/19/2022 at 14:52 point

Yes, there are a couple of videos in the files section.

  Are you sure? yes | no

Stephen Chasey wrote 08/07/2022 at 06:58 point

It could be adapted to dispense a peanut for each commit :)

  Are you sure? yes | no

fdufnews wrote 08/05/2022 at 14:22 point


When I read the title, I first thought of a system to feed a pool of programmers

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates