Final Project Proposal

Daniel Harmsworth

< >


Concept Model

My proposal for a final project is to develop a modular component vending system that can dispense electronic, mechanical and other sundry parts based that can load either standard industry packaging where available or loose components.


I have spent a lot of time helping maintain workshops both in FabLab WA and at the local hackerspace, one of the most useful things in such a facility is the ability to very quickly iterate on ideas and prototype solutions more or less instantaneously. This requires an inventory of parts, I don't know about other people doing this but inventory management is one of my least favourite tasks, and so I would like to automate it away!

Iteration 1

For FabAcademy I am proposing to develop a single module and controller board to dispense components based on graphical interface, eventually I would like to have this interface interrogate BOM files generated by common CAD & EDA packages to automate the part picking process entirely


For the moment I am looking at mounting the entire system on a DIN rail with communications running down the length as a bus.

Build Progress


The electronics for my project can be divided into 3 main components: Sensors, Module controllers and the primary controller.


One of the key things to making the machine reliable is being able to detect when a component has been successfully dispensed from one of the modules, to do this I have opted for an optical sensor, further details on this component are available on the Input Devices page.


Basic communications layout

In order to communicate between the primary controller and the modules I need some sort of networking, The protocol we developed during Networking week will work for this purpose however I am still contemplating using Bry's work on getting the ATTiny USI module to play nice with I2C.

Primary Controller

The primary controller for this system needs to act as a bridge between the user interface and the low level intra-device communications bus, unfortunately an ATTiny is unsuitable here as it would exceed the program memory footprint of the device to implement a software serial stack alongside the communications bus. I am currently looking at using a Raspberry Pi or similar as a controller.

Module Controller

The module controllers need to control a few small (9g) hobby servo motors in order to actuate the dispensing process, receive feedback from the sensors and the ability to communicate with the primary controller.

The First Dispenser

Battery Dispensing Cylinder

The first proof of concept dispenser is intended to be relatively mechanically simple to demonstrate the functionality of the underlying control system and to, as proof of concepts are want to do, prove the concept. For this reason I have chosen to dispense AA batteries which are not only ubiquitous in their application but a simple shape to dispense in an automated manner.