Dev life

Snack delivery machine: Part 1, the mechanics

Hacking on hardware is always fun, and it’s been a while since we’ve created something! In this brief series of blog posts, we are going to make an email controlled snack machine using a dry-food dispenser, a Raspberry Pi, a pair of stepper motors, and a little bit of 3D printing.



Hacking on hardware is always fun, and it’s been a while since we’ve created something! In this brief series of blog posts, we are going to make an email controlled snack machine using a dry-food dispenser, a Raspberry Pi, a pair of stepper motors, and a little bit of 3D printing.

This post is going to concentrate on the mechanics first, and then we’ll continue to electronics in part two.

Ready? Let’s go!

Prepping the components

We started with a snack dispenser that you can find at any department store or online. If you’re curious about where we got ours, we got it off of Amazon.

It’s a pretty simple machine: the goodies load in from the top and you can turn the handle to dispense them to a bowl underneath. But what if we attach motors to the dispensing mechanism? Enter, the motors — aka two 12V NEMA-17 steppers. We used a pair of these, but learned the hard way that the machine can benefit from a little bit more torque than 0.2Nm.

These little guys were perfectly sized (length 34mm), and fit snugly inside the dispensers.

Figuring out the powertrain

In our machine, the dispense knob had a “flat-milled” shaft that gets inserted into the piece with rubber flaps. The motor was also flat-milled, but the problem was that the diameter of the motor shaft was much smaller.

We needed an adapter or, using mechanical engineering lingo, a key, to make it work. Naturally, our first idea of how to solve the problem was, “Hey, we can just 3D print it!” Because one, 3D printers are awesome, and two, we measured the parts and started designing that little piece for 3D printing pretty immediately.

It took us seven iterations to arrive to a decent design.

No kidding, semantic versioning applies very well here!

With the key printed it was ready to be attached.

Success!!! Just for fun, here is the video of the printer doing its thing.

Making everything better with a Dremel

Based on the placement of the flap’s axle relative to the mount arm of the chassis, we figured we could drill out a portion of the mount arm for the stepper. We took the part that holds the vessel and made some adjustments to it, which was the most exciting part.

With a flat cutting head, we removed the plastic that wouldn’t let us insert the steppers.

Final assembly

After a few minutes of carefully channeling the Dremel Fever™, the servos fit snugly. To secure them, we needed to find something that would fit between the servos and the chassis. Looking around we found a nice eraser that would do the job. Who says we can’t take advantage of no longer used prototyping gear and deploy it to prod?

Inserted it on both sides of the motor and it fit snugly.


We flipped the flappers to face the servos in the back of the dispenser and attached them with the key. The last thing we had to do was to cut the flaps to make sure the servos could easily spin the mechanism.

Here is the final product from the mechanical perspective.

Pretty cool, right?

With all of the mechanical pieces in place, we had to start building the brain of our little machine. What would become the brain of our hard work? A raspberry pi, of course. As we all know, almost anything is possible with a Raspberry Pi, but you’ll have to wait to see how that turned out until next week!

Related readings

Snack delivery machine: Part 2, the electronics and tech

Before we get technical, if you haven’t read our previous post about our wonderous snack machine, pop over and check that out first! We bought an off-the-shelf snack dispenser and turned it into a robot, but now it’s time to give it some brains. And by brains, we mean a raspberry pi.

Read more

Hardware fun: building an email-controlled gun for PyCon 2013

We don’t sponsor (or attend) many conferences at Mailgun. In fact, to this date we have only sponsored one, PyCon. We make an exception for PyCon because it has always felt like the perfect conference for Mailgun.

Read more

Mission to Mars – PyCon 2014

We had a blast at PyCon 2013 with our giant email-powered Nerf gun. It was a big crowd-pleaser and for PyCon 2014, we wanted to do something even cooler. So of course, it was obvious that we should start with… a vacuum cleaner. This blog shows you how we went from vacuum cleaner to Mars Rover and ended up having a great time again this year at PyCon.

Read more

Popular posts

Mailgun iconSee what you can accomplish with the world's best email delivery platform. It's easy to get started.Let's get sending
CTA icon Mailgun Icon