It opens and closes the door of my wife's chicken coop based on Sunrise and Sunset times so that she doesn't have to. Or rather, it will do when I get the time to finish it between paid work and free time.
Because 'Cluck Cluck Sesame' is obviously what the chickens would say if they needed to open a door. And 'Chicken Sesame' is a recipe.
The hardware and firmware are all mine. The board is based around a PIC16F685 as I've had some lying around for years and was looking for an excuse to use them up.
The PIC16F685 is an 8-bit microcontroller with a whopping 4K of program words (flash) and 256 bytes of RAM that can run at a respectable 8MHz (2MIPS) without an external clock. But more importantly it's got excellent power-saving capabilities, which is critical when running off batteries. Being a PIC it's also got a brilliant array of peripherals and an adequate 20-pin package.
The firmware is an experiment in writing test-first assembler, an endeavour somewhat trickier than with high-level counterparts due to its lack of encapsulation, global state, side-effects, the vagaries of linking, as well as the verbosity of the language. The tests are run in gpsim with bash scripts for glue. They are run as part of the automated Travis build.
Freshly baked and stuffed PCB | Attached to the Coop |
---|---|