What sets the Tassimo apart from similar single-serve machines on the market is the encoding of the brewing parameters for beverages on the surface of the pod (T-DISC) using a barcode that has been encoded using the Interleave 2 of 5 symbology.
On this page, you will find information related to investigating the correlation between the barcodes on the T-DISCs and the operation parameters for the Tassimo.
Edit1. Operation Parameters
There are five parameters that comprise a typical Tassimo beverage brewing cycle:
- Water Temperature
- This parameter sets the temperature for the internal boiler prior to brewing.
- Cartridge Charge
- This parameter controls how much/long for pre-soaking T-DISC contents prior to brewing.
- Beverage Volume
- This parameter controls the amount of water dispensed for the beverage - depending on the type of beverage, material in the pod, etc. the actual dispensed volume will vary.
- Flow Rate
- This parameter controls the flow of water through the T-DISC during brewing, measured as a percentage.
- Purge
- This parameter controls the final phase of the brew cycle which is used to evacuate or flush the T-DISC. This may be short or long depending on the type of beverage.
Edit2. Binary Coding
While not definitive, the Tassimo patent application suggests that the data encoded by the barcode can be broken down into 13 bits, which in turn directly control the operation parameters of the machine:
Water Temp | Bits | Decimal | Parameter |
00 | 0 | cold |
01 | 1 | warm |
10 | 2 | 83C / 181F |
11 | 3 | 93C / 199F |
Charge | 00 | 0 | fast charge w/ soak |
01 | 1 | fast charge no soak |
10 | 2 | slow charge w/ soak |
11 | 3 | slow charge no soak |
Volume | 0000 | 0 | 50ml |
0001 | 1 | 60ml |
0010 | 2 | 70ml |
0011 | 3 | 80ml |
0100 | 4 | 90ml |
0101 | 5 | 100ml |
0110 | 6 | 110ml |
0111 | 7 | 130ml |
1000 | 8 | 150ml |
1001 | 9 | 170ml |
1010 | 10 | 190ml |
1011 | 11 | 210ml |
1100 | 12 | 230ml |
1101 | 13 | 250ml |
1110 | 14 | 275ml |
1111 | 15 | 300ml |
Flow | 000 | 0 | 30% |
001 | 1 | 40% |
010 | 2 | 50% |
011 | 3 | 60% |
100 | 4 | 70% |
101 | 5 | 80% |
110 | 6 | 90% |
111 | 7 | 100% |
Purge | 00 | 0 | slow flow / short period |
01 | 1 | slow flow / long period |
10 | 2 | fast flow / short period |
11 | 3 | fast flow / long period |
Edit3. Decoding Barcodes
Initially, the process for determining the symbology and thus encoding of the T-DISC programs was uncovered through a process of trial-and-error that began with using a hacked :CueCat barcode reader to scan the T-DISCs to determine the numbers behind them.
From this exercise, a list of six digit numbers was compiled and next used as input to a barcode generator to determine the symbology used for encoding.
By comparing generated barcodes with the corresponding T-DISC, it was discovered that Interleaved 2 of 5 symbology was being applied - a common standard.
Next, the codes were broken down into their binary equivalents to try and discern common patterns that may correspond to key parameters like volume of dispensed water.