Re-purposing a Dog Treat dispenser into an automatic feeder

I got a Dog Treat dispenser that I want to re-use as an Automatic (or remote controlled) feeder.

First part is to reverse engineer the electronics. I used Gimp, with photos of both sides of the board and layers to trace out the paths (good thing the pcb was only 2 layers) and KiCad Eeschema to make an schematic:

DogFeeder.pdf (74.2 KB)

Last time I made schematics was in 1991 with good old Protel :slight_smile: I would appreciate any feedback on the schematic style (not on the circuit as that is not my design, it is my interpretation of the PCB tracks). I suspect that there have been improvements in the schematic drawing best practices in the past 24 years. Thanks!

Next step: I’m wondering if I can use a buffer overflow or data corruption to gain control of the MCU and dump out the flash. It all depends on how careful they were when parsing the Radio Receivers data stream. I already tried the ICSP interface and the “CP” bit is set. Main purpose is to get a copy of the different chime sounds that it plays. Alternatively I can record the waveform with the scope, but that’s too easy.

2 Likes

The only thing that really jumps out at me is that you’re using global labels for all your power connections - KiCad expects you to use symbols from the Power library specifically for this (Place > Power Port rather than Place > Global Label; the toolbar button is a GND symbol). You’ll likely have a Bad Day with ERC and library components otherwise, as KiCad will think none of your power pins are connected to power.

Other than that, nope it looks like nothing’s changed in 24 years, hah! :slight_smile:

I could easily be wrong but are you sure the battery is connected to the out side of the VR?

The LM317 isn’t an LDO vreg, so can’t regulate that low battery voltage to 5V - they’re saying (Vbatt - Vd1) = ~5V. If Vbatt is lower then regulation won’t help anyway,

Thanks, that is great feedback. I did have a bunch of warnings in the ERC and I corrected them by making sure all the power pins were labelled correctly (“Power Input”) and regulator outputs as “Power Output”. That got rid of all the warning except one. On U1 (top left) you will notice it has VDD1 and VDD2. The data sheet labels both as VDD and there are no indications that the pins are isolated. The original designer did place a resistor R13 between the two pins. I do not understand the purpose of this resistor if the two VDD pins are tied internally to U1. Initially I had both pins 7 and 8 labelled VDD and KiCad ERC warned me that Power Input pin 8 was not attached to a power output net. I thought that maybe the equal pin names (VDD) were confusing ERC, so I labelled them VDD1 and VDD2. That did not help, I’m still getting the warning. My thought is that R13 is effectively isolating the “Power” capabilites from pin 8 and there is no way I can get around this ERC warning.

A separate question is why would the designer place R13 in the first place (even assuming it’s a 0ohm resistor) :confused:

Yes, @rsim has a good technical reason. My interpretation is that the designer wanted to protect the electronics from DC input voltages above 5V (such as the user plugging in a 12V adapter)

Thanks!