Jerry the Coffee Collector

Shane O'Connell
Pixel Fusion
Published in
5 min readJul 19, 2017

We love to build great products. It’s what our team lives for at Pixel Fusion. In fact, building world class digital products is our day job, and on top of that, our team often sticks around on Thursday nights for Pixel Fusion’s weekly Hackathon (seperate to our 48 hour hackathon- more on this soon). This is an evening to work on side projects, learn new skills, and collaborate on grand ideas. It’s fuelled by tunes, beer (and non alcoholic beverages), food, and passion.

We’re ecstatic to finally be able to share one of our recent products “Jerry the Coffee Collector (CC)” which was a project started and delivered by:

- Thijs (Our next level intern from the Netherlands) and;
- Shane (me) one of our Business Development Managers.

Why did we start this project?

We take coffee seriously, almost as seriously as the calibre of products we build. There is always a faint sound in the distance of fresh beans being ground and our team is capable of producing cafe grade coffee (which our clients love). There is one catch- the building our studio is situated in (The Textile Centre in Parnell) has been standing for roughly 100 years which means some of the pipes are, by definition, old and run almost horizontally. Pipes like this don’t like coffee grounds because they can build up over time and cause an obstruction. Our solution to this dilemma to date has been a bright green 5L bucket from the a local supermarket.

Over the last two years our team size has grown significantly, by more than 120%, and our collective caffeine addiction is becoming stronger. A natural consequence is an increased frequency of emptying the coffee waste bucket before it overflows and leaks into the Xero offices downstairs. We had the idea to use the Internet of Things (IoT) to make this whole situation a bit more “smart”.

On the 11th of May 2017 we created a Slack channel called #cc — Project Coffee Collector was born. The project started with a brainstorming session where we decided the following six things:

  1. We would use an ultrasound sensor to measure how full the bucket is.
  2. We would use a tiny OLED screen to display info on the bucket.
  3. We would connect the bucket to the internet (securely) using a Raspberry Pi Zero.
  4. We wouldn’t use a bucket- instead we’d use a slick jerrycan.
  5. Oh and of course, we’d integrate with Slack to push notifications at intervals in order to avoid the grounds ever spilling again.
  6. Finally; lets name the product “Jerry” — get it?

We decided to use Python and make the entire project open source, so what follows is a breakdown of how the product works and what you’ll need in order to make your own smart jerry can or device that can measure your water tank.

(Pixel Fusion accepts no responsibility or liability, please experiment/hack at your own risk 😉 )

Key features:

  • Autostart
  • Real time information on LED screen
  • Notifications via Slack
  • Error Logging

Further technical detail on Pixel Fusion’s Github Page: https://github.com/pixelfusion/coffee-collector-messenger

Parts ($75ish NZD)

  • Raspberry pi Zero W (with or without case)
  • Micro Usb Power 5v
  • SD Card
  • Adafruit SSD 1306 128*32 led screen
  • HC-SR04 ultrasonic distance ranging module
  • Army Jerry can 20L (Dark green 0.7mm metal wall container with grenade style locking pin & cap) Measures: 470mm high x 350mm wide x 150mm
  • Wires

Tools

  • Drill
  • Metal Files
  • Blu-tack
  • Soldering station
  • Soldering iron

How it works

  1. Raspberry Pi boots
  2. Initialises Python script
  3. Every 3 seconds Pi uses the sensor to read the current centimetres (CM) left in the Jerry can.
  4. Processes CM into a formula and outputs a % (with +10% safety.)
  5. Pi updates the LED screen every 3 seconds with real time information:
    a. CC / Pixel Fusion Logo
    b. % of liquid in the jerry can
    c. Statistics about the Pi (IP Address, CPU Usage, Memory Status, and Disk Status.
  6. Notifications are triggered as per the table below. When a notification is triggered Pi creates the message with all the relevant data.
  7. Pi sends message to a specified Slack channel (If it’s nearly full, then random team members are tagged)
  8. Repeat steps 3–7

Slack notifications

Slack integration to notify team of current levels:

Randomly tags team members to empty the CC when status D, see table below:

Finished product in action

We ask that if you create one of these yourself, please take a photo and send to Pixel Fusion: hello@pixelfusion.co.nz.

If you are interested in working for Pixel Fusion, email us on: careers@pixelfusion.co.nz

If you’d like to talk about this project or a new project, you can email or call me on shane@pixelfusion.co.nz or 09 353 1234

— Shane

--

--