Introduction: Dual Coffee Timer : OLED & Arduino

Pulling a perfect coffee requires tight control of a number of variables. The grinder dispenses a fixed dose of the correct grind into a portafilter basket. The portafilter fits into the coffee machine and the machine is run. If all is well there should be a pause of four seconds before the coffee starts flowing then the coffee should flow for twenty five seconds dispensing a 1.5 oz shot. To measure the two times I've put together this coffee shot timer. The white button is the timer button. Press once to start, twice to start the second timer and a third time to stop. The red button is to reset.

Project was originally posted to

Step 1:

The project is based round an Arduino Uno and uses an OLED SSD1306 which I bought for a few pounds on eBay. I used the Adafruit libraries with the help of this YouTube tutorial YouTube tutorial to drive the OLED.

The board layout is shown in the images. The Arduino code is attached above and in this GitHub link.

Parts list:

  • 4 x 10kΩ resistor
  • Breadboard
  • 128 x 64 OLED display. SSD1306
  • Arduino Uno
  • Breadboard switches x 2

Step 2: Next Steps

This is the starting point for the coffee timer project. next steps include
  • making a PCB for the components
  • fitting the parts into a case
  • adding a rechargeable battery. (Any advice of this would be gratefully received)
  • adding hi-res fonts to make the best of the OLED display

Step 3: