A thing that I was curious about years back was the barcode system and how it worked. I was able to find this page that contained details, but it has since become removed from the Internet and is only available via the Internet Archive. Because I'd like to keep this information readily available for others to see and searchable, I've gone ahead and copied down the details written by the original author.
So going forward none of this is my own, original writing but has been mirrored here for future reference.
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.
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.
- This parameter controls how much/long for pre-soaking T-DISC contents prior to brewing.
- 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.
- This parameter controls the flow of water through the T-DISC during brewing, measured as a percentage.
- 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.
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:
|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|
|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|
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.