diff --git a/License.txt b/LICENSE.txt similarity index 100% rename from License.txt rename to LICENSE.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..bc7ae1b --- /dev/null +++ b/README.md @@ -0,0 +1,100 @@ +# 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](https://www.stklblog.de/blog/senseo-control-20) (German), including photos of the prototype. + +## Functionality + +The OEM functionality (coffee, rinsing, auto-off) has been reimplemented (indications adapted to RGB LED) with a few features on top. + +### Features + +| | 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) | + + +## Platform + +### Hardware + +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. + +### Firmware + +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. + +## Customization + +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). + + +## Notes + +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.
+ + +## License + +The project is licensed under [GPL v3](https://www.gnu.org/licenses/gpl-3.0.de.html) license. + +## Disclaimer + +_"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. diff --git a/Firmware/Makefile b/firmware/Makefile similarity index 99% rename from Firmware/Makefile rename to firmware/Makefile index bdaa43f..96675a6 100644 --- a/Firmware/Makefile +++ b/firmware/Makefile @@ -8,7 +8,6 @@ # Internal RC-oscillator 8 MHz, CKDIV8 Enabled - # Project specific settings TARGET = SenseoControl-2.0 MCU = attiny26 diff --git a/Firmware/main.c b/firmware/main.c similarity index 100% rename from Firmware/main.c rename to firmware/main.c diff --git a/Firmware/main.h b/firmware/main.h similarity index 100% rename from Firmware/main.h rename to firmware/main.h diff --git a/Hardware/SenseoControl.brd b/hardware/SenseoControl.brd similarity index 100% rename from Hardware/SenseoControl.brd rename to hardware/SenseoControl.brd diff --git a/Hardware/SenseoControl.sch b/hardware/SenseoControl.sch similarity index 100% rename from Hardware/SenseoControl.sch rename to hardware/SenseoControl.sch diff --git a/hardware/layout.pdf b/hardware/layout.pdf new file mode 100644 index 0000000..6da0d45 Binary files /dev/null and b/hardware/layout.pdf differ diff --git a/hardware/partlist.txt b/hardware/partlist.txt new file mode 100644 index 0000000..e58bfb9 --- /dev/null +++ b/hardware/partlist.txt @@ -0,0 +1,43 @@ +Partlist + +Exported from SenseoControl 2.0 + +Part Value Device Package Library Sheet + +B1 B500D B-DIL B-DIL rectifier 1 +C1 470µ CPOL-EUE2.5-6 E2,5-6 resistor 1 +C2 100n C-EU025-024X044 C025-024X044 resistor 1 +C4 100n C-EU025-024X044 C025-024X044 resistor 1 +C5 100n C-EU025-024X044 C025-024X044 resistor 1 +C6 1µ CPOL-EUTT2D5 TT2D5 resistor 1 +D1 1N4004 DIODE-D-2.5 D-2.5 diode 1 +D2 5V1 ZENER-DIODEZD-7.5 ZDIO-7.5 diode 1 +IC1 78L05 78L2 TO92-A linear 1 +IC2 TINY26P TINY26P DIL20 atmel 1 +LED1 LF5 LF5 LF5 led-rgb 1 +OK1 MOC3031M MOC3031M DIL06 optocoupler 1 +OK2 MOC3031M MOC3031M DIL06 optocoupler 1 +R1 10k R-EU_0207/12 0207/12 resistor 1 +R2 150 R-EU_0204/7 0204/7 resistor 1 +R3 20 R-EU_0204/7 0204/7 resistor 1 +R4 120 R-EU_0204/7 0204/7 resistor 1 +R5 150 R-EU_0204/7 0204/7 resistor 1 +R6 150 R-EU_0204/7 0204/7 resistor 1 +R7 1k R-EU_0204/7 0204/7 resistor 1 +R8 1k R-EU_0204/7 0204/7 resistor 1 +R9 1k R-EU_0204/7 0204/7 resistor 1 +R10 1k R-EU_0204/7 0204/7 resistor 1 +R11 10k R-EU_0204/7 0204/7 resistor 1 +R12 1k R-EU_0204/7 0204/7 resistor 1 +R13 100k R-EU_0204/7 0204/7 resistor 1 +R14 100k R-EU_0204/7 0204/7 resistor 1 +S1 POWER 10-XXA B3F-10XX-A switch-omron 1 +S2 1 CUP 10-XXA B3F-10XX-A switch-omron 1 +S3 2 CUPS 10-XXA B3F-10XX-A switch-omron 1 +T1 BT136 BT136 TO220AB triac 1 +T2 BT136 BT136 TO220AB triac 1 +TR1 230V/6V 0.35VA EE20-1 EE20-1 trafo 1 +X2 MKDSN1,5/5-5,08 MKDSN1,5/5-5,08 MKDSN1,5/5-5,08 con-phoenix-508 1 +X4 Hall-Switch MPT2 2POL254 con-phoenix-254 1 +X5 NTC MPT2 2POL254 con-phoenix-254 1 +X6 ISP PINHD-2X3 2X03 pinhead 1 diff --git a/hardware/schematic.pdf b/hardware/schematic.pdf new file mode 100644 index 0000000..d78b551 Binary files /dev/null and b/hardware/schematic.pdf differ