Byte Tags

Surface 1.0 SP1

Byte tags are one type of tagged objects that Microsoft Surface recognizes. These tags store 8 bits of data (1 byte), so there are 256 unique tag values. (In contrast, identity tags store 128 bits of data.)

An example byte tag

The value of a byte tag is represented in code by a ByteTag structure. The Value property represents the value of the tag that your application can use to interpret the physical object. The Contact.Tag.Byte.Value property stores the value for a given Contact. For more information of how you can use byte tags, see Tagged Objects.

There are 256 possible byte tags, each with an 8-bit value and orientation markers.

Byte Tag Geometry

Each byte tag that the Microsoft Surface Vision System identifies has an orientation and an 8-bit tag value. The following figure illustrates the basic tag that all other tags are based on.

Byte tags - Parts labeled
  1. Infrared-absorbing background

  2. One infrared-reflecting circle (0.125-inch radius) in the center of the tag. This circle locates the tag on the Microsoft Surface screen.

  3. Three infrared-reflecting circles (0.08-inch radius) located 0.28 inches from the center of the tag in each direction (left, right, and down). These "guide" circles determine the tag orientation.

In addition, each tag contains from zero to eight data bits that define the tag value. These data bits are white circles (0.075-inch radius) that are centered in one of the following locations:

  • 0.3058 inches horizontally and 0.2038 inches vertically (bits 1, 2, 5, and 6) from the center of the tag.

  • 0.2038 inches horizontally and 0.3058 inches vertically (bits 0, 3, 4, and 7) from the center of the tag.

Byte Tag Values

There are 256 possible unique byte tags that are encoded as a byte. The highest order bit (bit 7) is at the 1 o'clock position when you look at the printed side of the tag. Less significant bits are then read counter-clockwise from the 12 o'clock position. An infrared-reflective circle in a bit location represents 1. The absence of a circle represents 0 (zero).

Byte tags - Bit locations

Tagged objects - 0x00 / 0xFF / 0xC1 / 0xC6 values

Printing Byte Tags

Microsoft Surface units include two full sets of byte tags (256 tags in each set). You can also create and print your own tags, according to the specifications in this topic and in the Printing Tagged Objects topic, up to the maximum of 256 unique patterns.

If you want to create and print your own byte tags, you have some freedom when you design and work with the physical tags. The following illustration shows the dimensions of a physical tag.

Byte tags - Dimensions

The undefined region indicates where you can extend the geometry of the tag, if you need to.

The tag region is the opaque black-and-white patterned area of the actual tag. You can remove or cut a 0.125 × 0.125 inch triangle from each corner of the 0.75 × 0.75 inch square tag without affecting performance, if you need to affix the tag to a smaller circular object. However, the entire tag region must touch the Microsoft Surface screen.

Community Additions