Skip to main content


Project description


The purpose of this code base is to provide an easy interface for creating a Raspberry Pi-based coffee camera. I found that there were too many people walking back and forth to the empty coffee pot and decided to make this little project with some parts that I had mostly laying around.


  • raspberry pi (all should work, but may need extra hardware)
  • compatible camera
  • wifi dongle (optional)
  • case (optional)
  • power adapter



At this time, you must be running this project on a Raspberry Pi or the dependency picamera will not be runnable:

pip install coffeecam

Environment Setup

In order to reduce wear on your SD card, you should set up a RAM drive that can be utilized to serve the constantly-changing image. An example of how to do this may be found in the setup directory.


This package will serve up pages by simply starting it. If you have installed coffeecam into the path /home/myname/py3env, then you can simply:

/home/myname/py3env/bin/coffeecam -c /my/config/file.json

The configuration file is required to begin execution. An example configuration file may be found in the examples directory.


Add dependencies are pip-installable:

  • flask
  • humanize
  • picamera
  • waitress

This has only been tested on Raspbian, though it may work with other distributions.

How it Works

This package will run a flask instance which serves up a page containing a screenshot. A new camera picture is triggered by each client every 10s using POST requests. If the current image is less than 2s old, then the new image request is ignored.

When the POST request returns, it contains the path and cache-busting ID of the file which allows easy retrieval of the file itself.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for coffeecam, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size coffeecam-0.1.1-py3-none-any.whl (896.8 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page