Current status

Currently I have a full offline working version as following:

I'll start briefing what is the status of this project and later will explain step by step how I designed and how can you replicate it, just don't forget to mention this page as reference!

If you agree with some improvement point and want to cooperate, just send me a message.

Mechanical design:

Electronics hardware design:

Embedded software design:

Alright, now let's finally start!


I made a small research and found a couple vending machine projects:


I really enjoyed the first project proportions, but didn't like the number of bolts and internal electronics/cabling. The second one is really better for escalating in size, but I was looking for something simpler, more similar to the first option (the one isn't fully open source).

At the end my decision was to start from scratch and I came up with the following features list:

First design decisions

As a first step after deciding the project features, I like to choose which tools I'll use to design. Usually for those non profitable designs I rather selecting software, devices and technologies that I never used before and want to learn, so if you're specialist in some of those tools and could give me some tips, I'll be glad to hear.

I might update this list in the future (after adding network for instance) but to do stuff as it is now I've used the following:


Finally, after wondering how this machine would work, I started by what I'm bad at, the mechanical design.

My starting point was the but I made some major changes and if you open the fucion file, v102 you'll see the following screen:

Yeah, if you were expecting some 3d, wait a bit more because this is a improvement point. I did all parts only in 2d sketches, didn't put them together. But all connections work well and I'm proud about the final product.

This design used 6 and 3mm MDF for the body and 2.8mm clean acrylic to the windows and front door. There are some more detailed information about the assembly in the project instructions.

The way I did the clean acrylic and 3mm mdf as a sandwich was to avoid adding screws. In fact the whole body uses 16 screws to keep the parts together, all internal joints were made without glue or bolts.

I never tried to create some parametric design, and for the next step I wonder to use the project or the fusion features to create parametric designs, I'm not aware of what would be the best solution, if you have some idea let's start a discussion about it!


Well, this was pretty straight forward to me. Circuit was simple, I just added everything on Eagle and came up with a schematics:

There are a few points here to clarify:

From the Schematics to PCB, I designed a two layers board, put most of components on the bottom to keep the top clear for some silk indications, and sent to China for manufacturing. The end result was not bad!

I've used the to order the PCBs, they have the best shipping price to UAE (where I live) but I had issues with them before, can't say I recommend. 

All Eagle files and BOM are attached to this project.

Embedded Code

As pointed in the briefing above, I still didn't have time to finish a proper code. What I have so far is only the Arduino code, and it works as the following state machine:

Hopefully I'll update it soon!