uArm Vending Machine

Makes doughnuts, fries and onion rings. More foods to come. Low cost and open source.

Similar projects worth following
Vending machines are a huge business, and there is no open source vending machine. There are some ongoing efforts, but nothing quite finished so far.

We think the uArm is an easy way to go about it. We're going to make the uArm deep fry and sell doughnuts. When that's accomplished it should be able to make french fries and onion rings with minor changes.

That makes this different from most other vending machines, which normally dispense prepackaged products. There is a pizza vending machine out there which has become popular e.g. on campuses, and we think the uArm can do that too. The arm isn't a particularly efficient way to go about it but it can do many different things. It's the same thinking as in industry, replacing single purpose machines with general purpose robot arms that can be reconfigured with just a new tool and a new program.

You type in the kind of doughnut you want the uArm to make for you, and that's pretty much it.

The WiFi connection is there so that we can monitor stock levels remotely. Also, the plan is to create a web based ordering interface for tablets and phones.

The three main components in this project are all open source. The uArm (including Arduino clone), the Raspberry Pi and the Bar Mixvah web interface are all open to hacking and modifying. We will pay it forward (if this vending thing works) and publish the code and exactly where we bought the components for the vending machine. We'll need to look around a bit to find a doughnut extruder like the one Palli bought at a flea market long ago. The design files will be published when they're ready.

View all 13 components

  • Servo problem

    Svavar Konradsson08/21/2014 at 06:26 0 comments

    I burned out one of the servos in the arm and uFactory were kind enough to send me another one. As it turns out I had miscalibrated the arm when I assembled it. This happened to more people than me so they made a video explaining how to do it. So that's that problem eliminated.

  • Connectedness

    Svavar Konradsson08/21/2014 at 06:18 0 comments

    Our dream is to make a web interface like the one in Yu Jiang Tham's Bar Mixvah:

    This should satisfy the Hackaday Prize requirements for connectedness. However, I've only ever programmed in Matlab and Arduino, and the MEAN stack is quite intimidating. Hopefully we can make this work by mostly using Yu Jiang's interface and back end. It's all there on his blog. We met Yu Jiang at Startup Reykjavik 2014, so we might be able to get some tips from him when we run into trouble.

    It takes some trouble to get all this software running on a Raspberry Pi, and I'm currently stuck at installing MongoDB. It even took me days just to get Raspbian running on the machine because NOOBS wasn't able to install it. In the beginning we should probably skip the fancy tablet ordering and just use the numpad right on the machine. Just get it making doughnuts, right?

    Another aspect of connectedness is using SSH to access the Raspberry Pi. That way you can reprogram the vending machine from any computer.

    The third aspect of connectedness is getting push notifications when supplies run out or something goes wrong with the machine. There's no rush to figure out how to do that because this prototype is just a proof of concept and probably won't be used as a commercial vending machine. We'll be around when things go wrong.

  • The uArm arrives

    Svavar Konradsson06/16/2014 at 08:58 0 comments

    We see that the uArm can pick up a frying basket and put it back into the pot:

    But is this repeatable?

    We need to improve the design of the carousel so that the uArm can turn it. Making the nibs bigger should do the trick.

  • How to make doughnuts

    Svavar Konradsson05/20/2014 at 18:51 0 comments

    We used a cheap and simple home doughnut maker.

    The dough has to be so runny that it pours through the valve by itself. Yeast based dough is probably a no-go because it expands continuously, making the first doughnuts of the day small and tough, and later on they’re big and fluffy. This recipe uses baking powder:

    This dough is still too thick to flow, so we added some milk.


    The fetus-shaped pastry is our first attempt. As you can see they rapidly improved. You only have to open the valve for half a second!

    We also tried a thicker mix. Then the valve had to be kept open for five seconds. You got bulkier doughnuts with a crispy crust and they took longer to fry.

    This is one way to frost the doughnuts:


    But you get frying oil in the frosting. Next we tried a syringe:

    The frosting melted in a few seconds. We tried letting the doughnuts wait for 0:30, 1:00, 1:30 and two minutes before frosting. You need at least two minutes, which is too long for a vending machine.

    We refrigerated the frosting syringe and tried again. This time 30 seconds is OK. The frosting starts melting after maybe a minute on the doughnut, but by then you have the doughnut in your hand.


    All in all, we think we can make doughnuts on demand.

View all 4 project logs

Enjoy this project?



Adam Fabio wrote 06/18/2014 at 02:02 point
I can't help but wish you sweet success on this project! A robot arm is a perfect match for a vending machine. We have some polar coordinate based ice cream vending machines in my area, and there are always kids lined up around the machines to watch them vend. Don't forget to document the connected portion of your machine, and thanks for submitting it to The Hackaday Prize!

  Are you sure? yes | no

Svavar Konradsson wrote 08/21/2014 at 08:20 point
Thanks Adam! The novelty factor might be the main attraction here, kids (and some adults) just watching the arm busying itself with making the doughnuts. I've added a project update discussing the connected part.

  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