Yellow Dot Decoder - Fake Prototype Playtest Cards

Nothing more than according to the original article:
https://w2.eff.org/Privacy/printers/docucolor/

Each column is read top-to-bottom as a single byte of seven bits (omitting the first parity bit); the bytes are then read right-to-left. The columns (which we have chosen to number from left to right) have the following meanings

  • 15: unknown (often zero; constant for each individual printer; may convey some non-user-visible fact about the printer’s model or configuration)
  • 14, 13, 12, 11: printer serial number in binary-coded-decimal, two digits per byte (constant for each individual printer; see below)
  • 10: separator (typically all ones; does not appear to code information)
  • 9: unused
  • 8: year that page was printed (without century; 2005 is coded as 5)
  • 7: month that page was printed
  • 6: day that page was printed
  • 5: hour that page was printed (may be UTC time zone, or may be set inaccurately within printer)
  • 4, 3: unused
  • 2: minute that page was printed
  • 1: row parity bit (set to guarantee an odd number of dots present per row)

For example:

This is 2024 because in the 8th column (YY) there are the 4th and 5th dots in yellow, giving a binary value of 00011000.

We can then convert this binary value into a decimal value, giving us 24 (16 + 8).

@pfm also explained the decoding process very well in his article

4 Likes