View this project on

Senseo Control 2.0

A completely rebuilt AVR based hard- and software for Senseo® HD782x coffee machine. It allows custom setting of cup size and temperature and includes simple support for a second cup size (e.g. espresso) by pushing the buttons longer (2s).

The original project was documented in ]]>this blog post]]> (German), including photos of the prototype.


The OEM functionality (coffee, rinsing, auto-off) has been reimplemented (indications adapted to RGB LED) with a few features on top.


Input Action
⬤ ⭗ ⬤ push both coffee buttons rinsing cycle (pump cold water, until tank is empty)
⬤ ⭗ ⭕ push single coffee button 1/2 cups of coffee
⬤ ⭗ ⭕ push single coffee button for 2s 1/2 cups of espresso (shorter time, 2s pre-brewing)
⭕ ⬤ ⭕ push power button start / shutdown at any time
⭕ ⭗ ⭕ 3 minutes idle Auto-Off

Optional Features

  • Coffee wish - if enabled (see below), the machine will memorize your coffee wish during heat-up and automatically start the coffee when finished, indicating through a violet LED (instead of green)

LED Signals

Color Light Flashing
red - ◍ heating up
green ⬤ ready ◍ coffee running
orange - ◍ espresso running
blue ⬤ rinsing ◍ water empty
violet - ◍ heating up (coffee wish)



The hardware is based on an ATtiny26 microcontroller with internal 8MHz RC oscillator.

Power supply is provided by a small transforer with a 78L05 linear regulator. Pump and boiler are controlled by Triacs with isolated MOC30xx drivers. The original sensors (NTC for temperature, Hall for water tank switch) are directly attached to the new board.

Schematic and Layout

The prototype has been built in THT on a perfboard, hence the layout provided is compatible to 2.54mm (100mil) grid. Might as well be used for a PCB. The board is designed to fit the HD7822 model.

Files provided under hardware/ are compatible with CadSoft/Autodesk EAGLE™ 6 and above.


The firmware is written in C and comes with a Makefile for use with avr-gcc and avrdude. There are configurations available for STK500, AVR ISP mkII and Pony-STK200 which can be adapted to your setup.


The code is designed to customize functions, timing, temperature and hardware pinning. To to so, set the corresponding fields in the main.h file:

Flag Default Description
TIME_1_ESPRESSO 15 pump time 1 espresso (seconds)
TIME_2_ESPRESSO 28 pump time 2 espressos (seconds)
TIME_1_COFFEE 26 pump time 1 coffee (seconds)
TIME_2_COFFEE 52 pump time 2 coffees (seconds)
OPERATING_TEMPERATURE 125 water temperature (ADC value)
AUTO_OFF_THRESHOLD 180 Auto-Off time (seconds after last action)
COFFEE_WISH 0 save coffee wish on heat-up (1 to enable)

Pinout, button-thresholds and LED-configuration is also present in this file (should be self-explaining).


The Triacs need heatsink. The prototype uses approx. 75 x 30 x 1.5 mm (3 x 1.2 x 0.06 in) aluminum sheet, which is about the minimum recommended with a maximum temperature around 70°C (158°F).

⚡ Danger - High Voltage ⚡ Working on a live coffee machine involves voltages of 120/230V AC ! This voltage is applied to the heatsinks and causes hazard on contact. Please make sure you know what you are doing or consult an authorized professional. Cut the power before working on the device. First tests can be done without main power (supply the µC with 5V from the programmer), Triacs can be tested with low voltage (e.g. 12V~). On final test use an isolating transformer or at least a RCD.


The project is licensed under ]]>GPL v3]]> license.


"SENSEO" is a Trademark of Koninklijke Philips N.V. when used for coffee makers and a Trademark of Sara Lee/De N.V. when used for coffee pods. No claim is made to the exclusive right to use Senseo apart from the mark as shown.

Report a bug