Like the 3D printed pinball table we featured recently, the maker spirit of recreating a large and complex mechanical machine is alive and well.

The next entry in that spirit is a functioning vending machine built by user “Seven Mojoe” who is apparently a mechanical engineer from Indonesia. This project is apparently part of their thesis project and was finished at the end of 2015.

We’re writing about it now because, aside from it being cool, there’s a full build log over on hackster.io that you can follow to make your own.

What we’re looking at is a DIY vending machine with an Arduino UNO at its heart. This powers three springs which deliver snacks once they’ve been selected and paid for using a working coin operation.

Inside the acrylic case there are infrared sensors to identify the snacks loaded into the machine. When the packages fall past these sensors they send an off signal to the motors so the spring stops moving. An amusing anecdote in the build log is that too much light was entering the see through case, throwing the sensors off. Some duct tape to isolate the receiver end of the sensor fixed the problem.

The coin system is probably the most interesting part of the machine here. Proper machines that can identify real coins and their value are extremely complex, and this version seeks to emulate some of that. Various sensors and an array of magnets ensure that the machine only accepts two denominations of coin.

Having to pay for food you’ve already bought could be a cool way to keep yourself from snacking, or maybe you can use this machine as a piggy bank. Or, if you’re particularily evil, it would force guests at your home to pony up for food.

Finally, we think a real opportunity was missed here to use a Raspberry Pi instead of an Arduino. Not because one is better than the other, purely because a Pi would have fit the theme better.