We’ve seen a great many cat feeders over the years. Some rely on the Internet of Things, and some rely on fancy microcontrollers. [Larry Cook], on the other hand, built his using a simple 4060 binary counter chip.
The feeder is built out of old plywood, and the whole thing runs off an old 12-volt DC wall wart and a lead-acid battery to keep it going in a power outage. The dry cat food is stored in hopper above a drum, with the drum rotated by a 12-volt DC gearmotor. The gearmotor is activated on a schedule—either every 4 hours, or every 5.5 hours, depending on setting. There’s then a four-digit 7-segment display for counting the total number of feedings.
The manner of operation is simple. The 4060 binary counter slowly counts up to 8,196 on a 1.11 Hz or 0.83 Hz clock, for four hour or 5.5 hour operation respectively. When it hits that threshold, it fires the gear motor. The gear motor then rotates the drum for one revolution, dumping a preset amount of food. At the end of a revolution, it triggers a hall sensor which resets the circuit.
The best thing about this design? It’s been in service for ten years. [Larry’s] original video is a big contrast to his latest one, but it shows the same feeder doing the same job, all this time.
We love a good cat feeder, and it’s great to see one built with simple old-school parts, too. Video after the break.
[Thanks to Cprossu for the tip!]
You can use a 4060 counter but should use an MCU.
You can pull screws with a coin but should use a screwdriver.
Use the right tool for the jobb.
And absolutely not a 555.
Interestingly I have a screwdriver that I use as a pry bar. Which is ironic as despite having “Not to be used as a pry bar” etched on it it works perfectly well as one.
What would be the advantage of an MCU here? It seems like the part used is a much closer fit to the task.
MCUs can be a poor choice for very simple control tasks as they’re more expensive, more complex to deploy, and have non-trivial boot times (or, if powered continuously, draw non-trivial current). There’s a reason discrete components are still made in their billions.
The main reason not to use an MCU is flash rot. There’s read disturbance, flash gate leakage, and cosmic rays or other ionizing radiation that can corrupt it.
The program memory of a cheap microcontroller will vanish or corrupt in a few years to a couple decades and the device stops working, and it’s a black box that can’t be fixed because by that point nobody has the original code any longer.
I don’t think read disturb matters on the NOR flash they use, they just kinda lose the data in 20 to 100 years unless they’re getting actively written to and getting wear.
Keeping the original code isn’t really a problem, I’d be more concerned with the dev tools and USB programmers not existing, if those tools themselves experience flash rot and nobody makes them anymore.
With chips that have native USB bootloaders in ROM, those might still be reasonably easy to program in 100 years.
I’d really like to see chips that can self-refresh every 10 years or so. Like, every time it’s been a whole day of uptime, rewrite all the flash with 1/3650 probability or so. I don’t see anyone doing that, so I guess people just use OTP stuff that doesn’t lose data?
For an ultra cheap chinese part, do you actually know which type of flash they use and what the specs really are? Manufacturing tolerances? Are you getting factory rejects or fakes?
They’re like 20 cents, and they make the physical wiring simpler. For DIY, bad connections and shorts are close to the #1 thing I’m watching out for in terms of reliability.
The sleep modes on those chips wake in microseconds and draw microwatts.
Technically the counter chip is an exact fit to the problem, but it’s also not something I’d just randomly have lying around, and a microcontroller is a pretty good fit in practice, and the MCU is going to have the potential to account for hardware and mechanical failures better.
But mostly they’re just easier to use. You use 1D code instead of 2D and 3D layout. Which makes them perhaps less fun and interesting, but also…. They’re easy and cheap and you don’t accumulate a parts bin of random unused stuff when most projects just use the same chip.
There’s one more thing: fault recovery. The logic circuit cannot crash because its internally stateless (although it may implement a state machine that may or may not lock up), and will recover from mild overheating conditions where the CPU would lose its flash memory.
The “randomly lying around” thing is valid in a prototyping context, but when you’re designing something and not just noodling around with circuits, you’d order the parts in anyways.
Good post, but hmm, surely it counts from 0 to 8191, since that’s 1 1111 1111 1111? Wheres 8196 is 10 0000 0000 0100 a very unusual number for a binary counter to count up to.
I built a beeper at a workplace that beeped every 15 minutes with a 4060. It was to track work and was a failure. After about a day of beeps every 15 minutes we all ignored the pulses as we had got used to them and filtered them out. Oh how we laughed.
I remember using a 4060 as a hacked MHz frequency counter. Input to 4060… 4060 to a PC soundcard… Software to onscreen meter.
Good makes, like Phillips will get to 90Mhz. A simple calibration option compensates in case your soundcard xtal is off. The system worked by looking at the period of the divided signal, and calculating the frequency. That way a low frequency input can give high precision, while remaining responsive on the updates.
https://opend.co.za/hardware/freqmeter1/index.htm
I personally loved it because it’s simple, debugging it if anything goes wrong is easy, there’s no microcontroller to lock up, no code for bugs to be hidden in, no servers to go down or fail, no clock to overflow and create a y2k-ish like failure, and let’s face it: This is not a task that requires cesium atomic clock accuracy to perform adequately!
Sure some may call it crude… But it’s elegant, creative, has just enough parts to work, and it i not over-engineered. I love it when a minimalist design works and just keeps working. It reminds me of the old Tech Model Railroad Club’s definition of a hack.
I salute those who have a problem, put something together to solve it, and have it actually work!
Prefect design, keep it simple
It’ll probably run for 50 years without an issue