A fully functional vending machine — user input, motorized dispensing, and dispensed confirmation.
Design and build a functional vending machine capable of dispensing items on demand via user input with reliable, repeatable operation.
Integrate electromechanical actuation with adapted code to give user feedback if item was dispensed.
Demonstrate full system integration from mechanical design and fabrication through functional code.
Replace placeholders with your project photos
Brainstormed dispensing mechanisms — claw, scoop, gravity-drop — evaluated each against our item geometry and complexity, selected best approach which was a pusher.
Built full assembly in SolidWorks including enclosure, dispensing rack and pinion, motor mount, and item retrieval area. Checked all clearances before any fabrication.
Laser cut enclosure from 1/8' MDF and Acrylic, 3D printed custom rotating dispenser and brackets, assembled with fasteners and adhesive where needed.
Wired 1 servo motor and 3 stepper motors to Ardunio mounted in the back of the housing. Verified signal integrity with multimeter before code upload and then orginized and secured cables.
Wrote and tested Arduino state machine handling item selection, motor actuation, and dispensing confirmation. Iterated on timing and distance between boxes until reliable across 20+ cycles.
Machine successfully dispensed items on demand with consistent timing across multiple test cycles — zero missed dispensing events in final demo.
Structure was reliable — no moving pieces on housing and could easily be picked up an moved without fear of misalignment or instability.
Code identified as an improvement area for integrating numpad for easier use — a design change for a future iteration.
Full mechatronics integration demonstrated — from SolidWorks model through fabrication, wiring, and embedded code to functional prototype.