By Chris R. Chapman at December 12, 2007 23:07
Filed Under: hacks

As promised, I’ve set up a wiki to help aggregate the information gathered so far in my efforts to black-box reverse engineer the Tassimo T-DISCs!  You can find the main wiki page at http://blog.chapmanconsulting.ca/wiki and the top page for Tassimo Hacking at http://blog.chapmanconsulting.ca/wiki/Tassimo%20Hacking.ashx

The pages are definitely works-in-progress, and best of all:  You can create an account to help out!  In fact, I’m really hoping that there will be some collaborative input to build the pages out into a hacking Tassimopedia.

I’ll be updating the pages on and off for the next while as I have a whack of other articles to finish and, of course, X-Mas errands to run!

Comments

12/18/2007 10:54:57 PM #

Matt Inglot

Perhaps your bar codes aren't being decoded properly? Your page blog.chapmanconsulting.ca/wiki/TDiscBaselines.ashx lists drastically different numbers for the discs than what the numbers under the bar codes on my discs are. Mine are as follows:

Nabob 100% Columbian: 517746
Maxwell House: 517731
Kenco Medium Roast: 532558
Nabob Espresso: 517734
Earl Grey: 517757
Cappucino Milk: 525646

These are the white numbers printed directly under the codes. I know nothing about bar code formats so perhaps the numbers under aren't the same thing as decoding numbers.

Hope that helps.

Matt Inglot |

12/19/2007 3:52:05 AM #

Chris Chapman

@Matt;

Thanks for the tip - it actually gave me pause for thought!  So, I went back and double-checked my assumptions.

I verified that the barcodes I've listed on the wiki and in prior articles are correct by checking them against the actuals on the T-DISCs and generating them using the Wasp Technologies online barcode generator [1].

I started with the Columbian disc:

If you enter "517746" for encoding using Interleaved 2 of 5 symbology, you get a barcode that bears a passing resemblance to the actual one on the T-DISC.  If you enter "642262" using the same parameters, you get a verbatim match.  This leads me to believe that "517746" may be a product code vs. a programming code.

In any event, I did try looking at it in binary (little and big-endian) and saw no discernable key patterns - I'm not ready to dismiss it yet, but I think this code doesn't fit the puzzle!

Chris.

Chris Chapman |

12/19/2007 3:53:26 AM #

Chris Chapman

Forgot:

[1] www.waspbarcode.com/software/barcode_maker.asp

Chris Chapman |

12/20/2007 6:25:44 AM #

Matt Inglot

Hey Chris,

Interesting! I agree that it may be a product code, although in that case I think they may be breaking the standards of how bar codes work. Afaik the numbers below a code are supposed to be just a human readable version of the code.

Are you sure that 2 of 5 interleave is indeed the right encoding? If I understand correctly you scanned the code with your bar code scanner, which gave you a number. You were then able to generate the same code by specifying encodings into wasp until something matched. This sounds pretty convincing, but how did the cue cat figue out the encoding? Is the encoding specified as part of the code? Or is the cue cat simply assuming 2 of 5? Because if the cue cat is reading it with the wrong assumption, then obviously the numbers it will give you will be wrong, but yet they will happily reproduce the same code.

Something to look at closely to make sure there's no hidden logical fallacies here. The last thing you want to be doing is trying to crack the wrong code.

Matt Inglot |

12/20/2007 9:37:14 AM #

Chris Chapman

The :CueCat is a standard barcode reader - there's not really a lot of "magic" involved with reading the bars and converting them into digits.  Interleave 2 of 5 is a common symbology, so it wasn't much a stretch to see it work - this is used on UPCs and ISBNs on the back of books.

If you'd like to help out, please feel free to create an account on the wiki - we can carry discussions on particular pages over there, rough in notes, etc.

Thanks for the interest!

Chris Chapman |

12/30/2007 3:25:10 PM #

John Tokash

Starbucks TDisc barcodes...

gizmodo.com/.../1000353621?viewSize=thumb800x800

Not sure if that image is high enough resolution to scan the barcodes and/or see the numbers.

The image is from this post:
gizmodo.com/.../taste-test-starbucks-coffee-in-tassimo-single+serve-pods

John Tokash |

12/30/2007 3:42:16 PM #

John Tokash

I bought a tassimo today and 4 types of drinks.  All 4, of course, have barcodes, but only one has numbers next to the barcode.

Suchard Hot Chocolate Syrup, Tazo Awake Black Tea, and Seattle's Best Breakfast Blend do not have numbers next to their barcode.

Twinings Earl Grey Tea does (518300).

John Tokash |

12/30/2007 5:42:22 PM #

John Tokash

Using EvoBarcode on my MacBook, I was able to scan the codes on my 4 drink pods.  Not sure if EvoBarcode decodes the same way your software does, but here they are.

Images are at: http://tokash.org/tassimo/

twinings earl grey tea
351874

seattle's best breakfast blend coffee
628839

tazo awake black tea
69956

Suchard Hot Chocolate Syrup
676458

John Tokash |

12/30/2007 7:20:50 PM #

John Tokash

ooops... tazo is 699556

John Tokash |

12/30/2007 7:41:28 PM #

John Tokash

OK, on the bottom of the boxes that these pods come in, I see another I2of5 barcode.  Each of those barcodes has a number underneath.  When I scan these barcodes with EvoBarcode, I get the number that appears underneath.

Twinings Earl Grey Box Code is 001318.
Seattle's Best Breakfast Box Code is 001792.
Tazo Awake Tea Box Code is 001824.
Suchard Hot Chocolate Syrup Box Code is 001316.

Now, these codes are not helpful in figuring out the program codes, BUT they do reinforce, somewhat, that we are interpreting the barcodes correctly as I2of5, unless they are using two different barcode formats on the same product.

John Tokash |

12/31/2007 4:51:37 AM #

John Tokash

Quick temperature readings (need to repeat these tests for accuracy):

tazo awake tea (fresh pod) 162 F
chocolate syrup (fake pod) 158 F
twining's Earl Grey (fake pod) 174 F

John Tokash |

12/31/2007 9:54:33 AM #

John Tokash

More barcodes

starbucks caffe verona  628952
starbucks melange maison  611985
gevalia kaffe espresso  594592
latte milk creamer  636070

John Tokash |

12/31/2007 10:25:24 AM #

Chris Chapman

@John:  Great work!  Thanks for the contributions.  Would you mind creating an account on the wiki and adding this data?

Chris Chapman |

12/31/2007 12:20:25 PM #

John Tokash

More data.  I ran each barcode mentioned below through the maker twice.  I'm sorry, in advance, for any errors!!

Barcode
Approximate temperatures (with a more accurate thermom than last time) from both runs.  Note that there is some variation between runs for the same barcode.  
Number of seconds the run takes, approximately.
Whether or not there was a soak period.
Number of ounces.

351874
25s
No Soak
170 F
180 F
8oz

594592
28s
Soak
160 F
170 F
2oz

611985
58s
No Soak
170 F
175 F
9oz

628839
57s
Soak
180 F
180 F
8oz

628952
48s
No Soak
170 F
177 F
9oz

634793
15s
No Soak
180 F
180 F
4oz

699556
37s
Soak
175 F
180 F
9oz

642262
46s
Soak
175 F
175 F
9oz

676458
23s
Soak
173 F
176 F
6oz

636070
18s
No Soak
186 F
187 F
5oz

John Tokash |

1/1/2008 6:06:42 AM #

John Tokash

Chris, the 447286 code that appears on the wiki won't run in my Tassimo.  Can you re-check that code?

Also, yes, planning to enter this stuff in the wiki at some point.

John Tokash |

1/3/2008 8:24:52 AM #

Chris Chapman

@John:  Ah!  Yes, you see that would be because the code is actually 447_3_86.  My bad.  I've fixed the entry in the wiki...

Chris Chapman |

Comments are closed

About Me

I am a Toronto-based software consultant specializing in SharePoint, .NET technologies and agile/iterative/lean software project management practices.

I am also a former Microsoft Consulting Services (MCS) Consultant with experience providing enterprise customers with subject matter expertise for planning and deploying SharePoint as well as .NET application development best practices.  I am MCAD certified (2006) and earned my Professional Scrum Master I certification in late September 2010, having previously earned my Certified Scrum Master certification in 2006. (What's the difference?)