Giter VIP home page Giter VIP logo

cat-feeder's Introduction

cat-feeder

A cat feeder with a web interface

cat-feeder-front web-interface

Summary

A cat feeder utilizing a DC motor and an archimedes screw to dispense food. The feeder hosts a web interface to configure and interact from any device's web browser. The web interface also generates a corresponding curl command, so feed times could potentially be scheduled via cron jobs on another machine.

On the back of the feeder are two LEDs, a button, a power switch, and a 12V DC power jack. The button is used for manual feeding and can be configured via the feeder's web interface. The "READY" LED is used to signal to the user that the state machine is in a state where either feeding or initialization is in progress. When in this state, feed requests are blocked.

This project was put on hold for a couple months due to other projects and 3D printer problems. I also screwed up the enclosure design at just about every point I could have. This cat feeder is way too big, hard to assemble, and barely functional.

Additional improvements I wish I did:

  • Non-hardcoded WiFi credentials - Have to recompile when changing networks...BAD.
  • Serial port access - No way to reconcile errors/bugs via console.
  • Don't use soldered jumper wires - Very bad/difficult solder joints, use custom dupont connectors next time.
  • Less square nut inserts, More brass thread embedding - terrible to assemble with so many square nuts.
  • More compact design - 3D printing large pieces was terrible.
  • More modular design - Attempted this, but needs to be more modular for easy printing/assembly.
  • Access holes for shaft, etc - Once sealed up, no way to tighten things easily.
  • Sturdier motor mount - Seems to flex when pieces of food get jammed.
  • Reprint bad enclosure pieces - Should have reprinted large enclosure pieces after resolving 3D printer problems.

But, oh well; Can't win 'em all. Time to move onto something else. Maybe one day I'll redesign a better cat feeder from scratch when I've learned a lot more on design.

cat-feeder-back

cat-feeder-bottom

Directories

  • fs/ - Filesystem uploaded to cat-feeder. Includes configuration JSON and web interface files.
  • fusion360/ - Fusion360 project file, exported models, and incomplete part list.
  • include/ - Configuration for the feeder.
  • inkscape/ - SVGs for back panel of feeder.
  • kicad/ - Schematic and electronics parts list.
  • src/ - Backend for the feeder.
  • test/ - Test files and mock backend.

Setup

  • Configure WiFi credentials in include/secrets.h
  • Upload to ESP8266 with make upload
  • Set DHCP entry in router for cat-feeder MAC and IP
  • Add DNS entry for catfeeder.agartha
  • Power on, wait for ready LED to turn on (while feeder connects to WiFi)
  • Saturate the feeder by running a few long feeds until food falls out of the chute
  • Use the web interface at http://catfeeder.agartha to feed the cat

CAD and Circuit Images

images/schematic-cropped.png

fusion360-no-enclosure

fusion360-final

Parts

References

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.