TassimoHack: Unterschied zwischen den Versionen
C3o (Diskussion | Beiträge) K (→WTF?: removed line breaks) |
Keine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== WTF? == | == WTF? == | ||
[[Bild:Tassimo-awesome.jpg]] | |||
* Do you often have problems getting up in the morning? | * Do you often have problems getting up in the morning? | ||
Zeile 15: | Zeile 16: | ||
up at virtually any supermarket here in Wien. | up at virtually any supermarket here in Wien. | ||
[[Bild:Tassimo-orig. | [[Bild:Tassimo-orig.jpg|thumb|right|200px|Tassimo]] | ||
The Tassimo requires only two button presses to brew coffee once the | The Tassimo requires only two button presses to brew coffee once the | ||
Zeile 37: | Zeile 38: | ||
== Tassimo Internals == | == Tassimo Internals == | ||
[[Bild:Tassimo-open. | [[Bild:Tassimo-open.jpg|thumb|right|200px|Right cover disassembled]] | ||
[[Bild:Tassimo-closeup. | [[Bild:Tassimo-closeup.jpg|thumb|right|200px|Internal circuit board]] | ||
Interesting contact points on the Tassimo internal circuit board: | Interesting contact points on the Tassimo internal circuit board: | ||
Zeile 61: | Zeile 62: | ||
== Alarm Clock Internals == | == Alarm Clock Internals == | ||
FIXME: | [[Bild:Tassimo-alarm.jpg|thumb|right|200px|A random alarm clock]] | ||
FIXME: Oscilloscope picture | |||
An alarm clock was chosen at random. | An alarm clock was chosen at random. | ||
Zeile 82: | Zeile 85: | ||
The circuit was then build and soldered onto a strip-board. | The circuit was then build and soldered onto a strip-board. | ||
[[Bild:Tassimo-board.png|thumb|right|200px|Eagle layout]] | [[Bild:Tassimo-board.png|thumb|right|200px|Eagle layout]] | ||
[[Bild:Tassimo-stripboard. | [[Bild:Tassimo-stripboard.jpg|thumb|right|200px|Finished circuit]] | ||
== Firmware == | == Firmware == | ||
Zeile 94: | Zeile 97: | ||
For simplicity of the toolchain, we decided to program the firmware in assembly. | For simplicity of the toolchain, we decided to program the firmware in assembly. | ||
FIXME: | FIXME: Toolchain, programming (PICkit2) | ||
== Installation == | == Installation == | ||
[[Bild:Tassimo-installed. | [[Bild:Tassimo-installed.jpg|thumb|right|200px|Installed circuit]] | ||
To avoid having wires stick out of the Tassimo and make the alarm clock optional, a small input port was attached on the back side of the machine. The two pins are ground and alarm signal. | To avoid having wires stick out of the Tassimo and make the alarm clock optional, a small input port was attached on the back side of the machine. The two pins are ground and alarm signal. | ||
[[Bild:Tassimo-port. | [[Bild:Tassimo-port.jpg|thumb|right|200px|Alarm input port]] | ||
[[Bild:Tassimo-bed.jpg|thumb|right|200px|Deployed within fumble distance]] | |||
== Source Code & Schematics == | |||
Source code and schematics are available under [http://www.gnu.org/copyleft/gpl.html GNU GPL]: | |||
[[Bild:TassimoHack-0.9.tgz]] | |||
[[Kategorie:WhateverLab]] | [[Kategorie:WhateverLab]] | ||
[[Kategorie:Projekte]] | [[Kategorie:Projekte]] |
Aktuelle Version vom 23. Januar 2013, 19:02 Uhr
WTF?
- Do you often have problems getting up in the morning?
- Have you realized that aquiring more self-dicipline is simply too hard?
- Have you tried placing the alarm clock at the other end of the bedroom, just to find yourself bringing your pillow when turning it off and continue sleeping on the floor?
It's time to toss another technical solution at this: Wire the alarm clock to a coffee machine and wake up to a cup of fresh coffee within an arm's reach.
Tassimo Overview
Tassimo is an automatic and relatively small coffee machine. The retail price is ca. EUR 130, and it can be picked up at virtually any supermarket here in Wien.
The Tassimo requires only two button presses to brew coffee once the machine has been prepared. A quick run-down of the preparations follows:
Preparation:
- Turn machine OFF
- Fill water tank
- Insert coffee disc and close lid
- Add cup
- Turn machine ON -> standby LED will be on
Brew:
- Press Start -> aufheizen LED will blink
- Wait up to 1 minute while heating -> automatik LED will then turn on
- Press Start -> Brewing will start, the automatik LED will blink
- Wait while brewing. The automatik LED will turn off and the manuell LED will turn on when finished.
Cleanup:
- Open lid and remove coffee
Tassimo Internals
Interesting contact points on the Tassimo internal circuit board:
JP1, pin 1 | 5V |
JP1, pin 3 | standby |
JP1, pin 7 | automatik |
JP1, pin 12 | GND |
SW1: | start/stop button |
Alarm Clock Internals
FIXME: Oscilloscope picture
An alarm clock was chosen at random. Opening the clock revealed the buzzer connector. An oscilloscope was connected to analyze the signal: When the alarm is off, the signal stays constant at ca. 1.2 volts (battery power from an old, single-cell battery). When the alarm sounds, a waveform is present, with an amplitude reaching from ca. 0 volts to ca. 4 volts.
Circuit Design
Our I/O needs, based on the above dissections are:
- 1 (analog) input to sense the alarm
- 2 digital inputs to sense the standby and automatik LEDs
- 1 digital output to trigger the Start button
For this purpose, we decided to use a PIC12F675 in a 8-pin package. This microcontroller has an internal 4 MHz oscillator, 6 I/O ports and a built-in A/D converter for analog input purposes.
The circuit was then build and soldered onto a strip-board.
Firmware
The firmware is quite simple. In essence, this is what should be done:
- Wait until the alarm goes off (analog input raises above 3 volts)
- Press Start button
- Wait until the Automatik light goes off
- Press Start button again
For simplicity of the toolchain, we decided to program the firmware in assembly.
FIXME: Toolchain, programming (PICkit2)
Installation
To avoid having wires stick out of the Tassimo and make the alarm clock optional, a small input port was attached on the back side of the machine. The two pins are ground and alarm signal.
Source Code & Schematics
Source code and schematics are available under GNU GPL: