Once upon a time, a few dog people (people who love dogs, not dog+people hybrids) made a remote controlled dog treat dispenser. You know, because that's what dog people do at hackathons. Things like this:
It dispenses treats with a text message. The Arduino is connected to the computer, which listens for the text.
Version 2 was a little tidier. We made it using a Raspberry Pi instead of a computer, which meant it didn't have to be tethered to a computer. It plugs right into a an USB wall output or battery pack.
Now, V2 was nice and dandy, but it was still messy. I mean, look at all those wires. So I decided to fix that. By making a custom PCB (printed circuit board). I mean, how hard can it be?
It turns out: not that hard! Nowadays, with better software, the internet to connect you with manufacturers, it's getting easier and easier.
V3: Internet Dog Treat Dispenser
For the electronics, I used Fritzing, which is an open source, free schematics and PCB designer. I like it because you start with a visual representation of the breadboard, Raspberry PI, and whatever components. You drag and drop the exact components you need and wire it up exactly how you'd wire it up in real life. From there, the virtual wiring turns into schematics and PCB layout.
Step 1: Real World
Step 2: Virtual Bread Board
Step 3: PCB!
Routing the PCB was kind of fun, like solving a puzzle.
Fritzing exports to Gerber files, which most PCB manufacturers take. I spent a little while Googling around for cheap PCB prototypers (low volume, relatively quick turnaround). I ended up using ITEAD in Shenzhen. For a PCB of this size (1.5x1.75 inches), they will produce 10 QTY for $10. Not a bad deal.
There were a few places that had cheap PCBs, most of them are based in China. The kicker is the shipping. The main reason I went with ITEAD was because they offered the "cheapest" expedited shipping options--$18 for DHL Express 3 Days.
Fast forward a week (it took them 6 business days from order to delivery!), I got a fresh pack of custom PCBs from China!!
A few headers here, a few crappy soldering there...
One end has a 13x2 pin Raspberry Pi header. There's also 6 positive headers sticking out for the stepper motor. So, plug it into a Raspberry Pi, which is sitting in a cushy 3D printed box. Then plug the stepper motor into the PCB..
Add some more 3D printed parts (all designed in Blender by the way)
Woo!!! Remote control dog (or human) treat dispenser!!!
One USB connects to a webcam, and a micro USB connects to power. Best of all? No messy wires, no scotch tape.
It comes with a nifty web interface, so you can see and hear a live stream of your nice or naughty pet. Give treats according.
Then put the lid on, and you're ready to rumble.
Want more details? I'll give you more details.
- Detailed write up on the Electronics part
- Coming soon: Detailed write up on 3D printing the case