I finished a very simple and quick project recently. It is a programmable cat feeder device. The device is just made for one single portion, but it uses this slide which produces the distinctive sound if the pellets hit the bowl. It is no replacement for the usual feeding of the cat, but some flexible addition to give food out of the regular times.
The whole build was done in roughly four days, using a very quick prototyping and build method.
Design and Build Process
First I had to make a decision about the final size of the device. I used Autodesk Fusion360 to create a model of the device and try to fit all required parts into the device.
This is one of the last designs I made until I had the right size. I used a different mechanism as shown here, the important part was to get the right size.
Next I bought plywood in the right sizes for the outer shell of the case. I also got some additional panels fitting inside of the shell for the internal structure.
I created the shell with four sides, left the top and front side open. To work quickly I fastened the panels with hot glue in place. This has the benefit that you can remove panels using a hot air gun in the prototyping stage.
With the shell ready, I drilled all required holes into the panels of the shell and build the feeding mechanism with the servo into the shell.
Now it was time to build the front panel. Here I fastened the LCD display and buttons into this panel and fastened a platform to this panel where I was able to build the electronics on top.
After some tests if everything will fit into place, I added the final structures to the shell. I used wood cubes in all corners of the shell and used screws to fasten the panels. For the removable panels I drilled special screws into this cubes which contain a M4 thread. So I can fasten the removable lids using removable M4 screws.
Now it was time to build the rest of the electronic components into place. I used M2.4 spacer which I glued with a two component glue into holes in the platform I build. This epoxy based glue is rock solid and is a very fast and solid way to fasten the break out boards on the platform.
To build the electronic circuit I used a fast prototyping method. For this method I used an Arduino Uno with the Adafruit Data Logging shield with regular stacking headers. On all other break out boards I added pin headers. Everything is connected with jumper wires.
This method allows very drastic changes of the design without soldering. It is a very simple and efficient approach for a prototype. You can see in the previous image on the right side a special board with additional components. This board also contains pin headers for the connection to the other boards.
I used this components to build the device:
- Arduino UNO rev 3
- Adafruit RGB LCD Shield
- Adafruit Data Logging Shield
- Adafruit Power Boost 500 Charger
- Adafruit TPL5110 Breakout
- TowerPro SG-5010 Servo
- Various Resistors
- 220µF Capacitor
- Vishay IRF9530 ~12A P-Channel MOSFET for Servo Power.
- 2× ON BSS84 P-Channel MOSFET for control and LEDs.
- 4× E-Switch PV2S240NN (Vandalism Proof😀) Pushbutton.
- 1× E-Switch 100DP3T1B1M1QEH 3-way switch.
- Blinking Red LED to signal low battery power.
Modification and Issues with the Breakout Boards
While building the device I noticed some issues with the Adafruit boards:
- The TPL5110 timer supports a great one-shot timing mode. On this board, the required pin is fixed to VCC. There is no way to activate this nice mode. For my project, this would be exactly the required mode.
- The Power Boost 500 charger is a very nice breakout board. I found this issues:
- Instead of the many GND connections I would like to have the battery charge/full signal on one pin to put a LED into the front panel. Actually charging is not visible from outside of the device which is sad.
- The pull-up resistor for the EN signal is a problem. There should be a cuttable trace on the back to disable this resistor or even use it as pull-down. This is especially useful in combination with the TPL5110 timer board.
- The trimmer on the TPL5110 seems very nice, but actually it is useless with the large timing range of the chip. One usually like to have a very certain timing which is only possible with a fixed resistor. Maybe use the space to put two pads on the side where a resistor can be soldered direct on the board.
- I really love the data logging shield with the prototyping area, it also contains a very nice RTC chip and also has a pad with the interrupt of this chip exposed! This interrupt is used to power my feeder device in case of an alarm. The only thing I would add here is a pad for the backup power of the RTC. In a device which is powered from a LiPo battery, one would like to power the RTC directly from the LiPo battery instead of a coin cell.
You can find the source code of the project here:
If you ever wrote firmware for a project with a LCD based menu system, you have be interested in the used firmware design. Also the source code contains an advanced driver for the PCF8523 chip, where you can access the full set of features of this chip.
If you have questions, miss some information or just have any feedback, feel free to add a comment below.