Well, this is something you don't tend to run across very often -- a Heath Robinson Rube Goldberg-type dog feeder controlled by a Zynq-7000 All Programmable SoC-based ZedBoard.
As an aside, the British cartoonist and illustrator William Heath Robinson (1872-1944), and his American counterpart, Reuben Lucius Goldberg (1883-1970), were both famous for creating illustrations of machines that were intended to perform relatively simple tasks, but with implementations that were incredibly complex such that they performed their tasks in exceedingly convoluted and indirect ways, but we digress...
You probably won't be surprised to hear that I know folks at all of the FPGA companies. Well, one of the guys at Xilinx -- Tom Feist -- just told me about a project created by his son James, who is a senior in electrical/electronics engineering at the University of Washington. James is focusing on embedded systems, so when it came to his senior project, his goal was to create something that was nearly 50 percent hardware and 50 percent software.
The professor for the course, Dr. Peckol, told the students to talk to companies and beg for hardware for the project. Not surprisingly, James talked to his father, who managed to obtain a loaner ZedBoard for the team.
The resulting dog food feeder system works off a customized copy of the out-of-the-box RAM disk image that came from the board. The system can check email to see when to feed the dog, and it can also send messages back to the user when the dog has either been successfully fed or has been neglected for too long (as a bonus, they also got the system to work off Twitter near the end of the project).
The bulk of the project was implemented on the ZedBoard. Recompiling the included kernel and resizing the RAM disk image allowed the team to cross-compile OpenSSL onto the board, based on which they then used STMP (Simple Mail Transfer Protocol) and IMAP (Internet Message Access Protocol) to access Gmail.
A simple yet powerful POP3 client (popmaildir) -- along with other mail functions -- was included in the out-of-box image. However, no encryption method was included, and this is required in order to use a large mail provider like Gmail, so this was one of the problems the team had to solve.
The team: James Feist (left), Evan Johnson (middle), and Denis Chang (right).
The team also taught themselves how to control the ZedBoard's Pmod port as a digital output; they wired it to an H-Bridge, which allowed them to control the two main motors (the third motor on the dog feeder was just to shake the food holder so it wouldn't get stuck). You can check out the resulting system in the following video:
Well, I don't know about you, but I am jolly impressed. My final-year project back in 1980 was to build a CRT controller that could display ASCII text and graphics on a screen using discrete 7400-series TTL chips. The great thing about my project is that it was "well bounded" and I could easily wrap my brain around it. I have no idea how students today set about implementing something like this that requires them to understand the underlying machinations of things like Internet Protocols, Android applications, and all sorts of other things. So I take my hat off to these young engineers. What say you?
Geekyasa - I have some motors like the ones shown in the picture and they're low voltage, low current motors. The Zedboard runs at low voltage provided by a wall bug power supply, so as long as the dog can be kept from biting that cord, it should be okay.
@Tomii: Did you ever see those Furby Things? I met the guy who designed those from the ground up (he later sold the idea to the toy company) -- it was very interesting to hear all the design decisions he made, and also how he came up with that "Furby Language" that almost sounds like they are saying something intelligble...