Cafeino has three customizable brewing station you can set with coffee brewing recipes using hosted web app.

Every station can be set to different coffee brewing recipes setting up not only the amount of coffee and water but also the hand-pouring pattern, resting times and steps to make the perfect pour-over coffee every time.

The current prototype uses an electric kettle to keep hot water at a constant brewing temperature.

Cafeino components are controlled by an Arduino nano and a ESP32 controller for managing the connection to the Internet and the IoT infrastructure in Amazon AWS IoT. Cafeino settings, configuration and recipe builder are accessible from the web app.

Water pouring hand is controlled by 2 servos to create hand pouring patterns and a step motor for station positioning. The hot water is pumped with a food-grade peristaltic pump. All the internal tubbing are food-grade silicone and stainless steel.

There are 3 button and LEDs in the front panel to control Cafeino. A single button push will move the pouring hand to a station, a long push (3 seconds) will start the pouring process following the already set brewing recipe. During operation a single push will pause the brewing. Solid light indicates the current active station, blinking means working.


  • Computing and networking:
    • ESP32 Dev Board (console command, low level control)
    • Arduino Nano (high level networking with AWS IoT)
  • UI:
    • 3x steel push buttons
    • 3x blue micro LED
  • Pump system:
    • Food grade High Temperature Diaphragm Water pump
    • Motor controller L298N
    • Power regulator LM2596
    • Capacitor
  • Tubing 
    • Food grade silicone tube D: ?mm
    • Aluminum tube D: 50mm
  • Pouring hand:
    • 2x 9g micro metal servos
  • Moving system:
    • 1x Step motor NEMA 17
    • 1x DRV8825 Stepper controller
  • Power System:
    • 12V Power supply
    • Power regulator LM2596


  • Frame:
    • 2020 & 2040 T-slot aluminum extrusions
    • Hex bolts, nuts and more
  • Cover:
    • 3mm acrylic sheets, white translucent