2D Barcode
Data Matrix
Linear Barcode
Data Matrix
Data Matrix is a two-dimensional (2D) barcode symbology. International Data Matrix designed the Data Matrix in 1989. Data Matrix could encode from 1 up to 2,000 characters in high-density with a small square. The original meaning of Matrix is glyph or mold of type and font. Data Matrix is composed of array of black and white bars. Data matrix is a space efficient barcode which could be more compact than other 2D barcodes when encoding small amount of data. It was first designed to track parts in the space shuttle program. Now it is widely used in labeling of small containers and pharmaceutical industry in variable-size. Data Matrix symbols could not be read by an linear barcode scanner. The 2-D scanner is required to scan it. There are two types of data matrix bar codes: ECC 000-140 and newest version ECC 200. Data Matrix is defined by the ISO/IEC 16022:2006.
Encoding Data of Data Matrix
One single cell in Data Matrix encodes one bit of data, represented in the shape of a square. A binary data is represented in as dark module and Zero is represented in a light module. The character size and font of the data matrix are variable. It is capable of encoding text, numbers, files, actual data bytes, Unicode characters and photos. The characters including:

Numeric value from 0 to 127 based on the US national version of ISO/IEC 646.

Numeric value from 128 to 255 based on the US national version of ISO 8859-1 (Extended ASCII).
Structure of Data Matrix
A Data Matrix symbol is composed of an array of data cells within a distinct perimeter pattern.

The data region is surrounded by the finder patterns which represented the modules in a regular array.

The finder pattern is surrounded by quiet zone border.
Error Checking And Correcting of Data Matrix
ECC is short for error checking and correcting algorithm. Encoding and decoding procedure of Data Matrix is complex. ECC helps Data Matrix to recover from the damaging bits. There are 2 types:

ECC 200 is based on the Reed-Solomon error correction and is appropriated ti be used in new apps. With this Reed-Solomon error correction system, ECC 200 is capable of scanning the data with damage of 60%. There are 24 square symbols and 6 rectangular symbols available in ECC 200. The symbol size of ECC 200 is 10 x 10 to 144 x 144 even values.

Based on convolutional code error correction system, the ECC 000-140 offers 5 error correction levels. The levels including ECC 000, ECC 050, ECC 080, ECC 100 and ECC 140. Make sure ECC 140 could only be used in the closed application with good controlling performance system. The symbol size of ECC 000 – 140 is 9 x 9 to 49 x 49, odd values. Number of bits and size of the message may add in different correction levels with different levels of recovery. Details refer to the data below:
  • ECC level: 000 Max damage percentage: N/A Bits incresing in ECC: N/A
  • ECC level: 050 Max damage percentage: 2,8 Bits incresing in ECC: 33
  • ECC level: 080 Max damage percentage: 5,5 Bits incresing in ECC: 50
  • ECC level: 100 Max damage percentage: 12,6 Bits incresing in ECC: 100
  • ECC level: 140 Max damage percentage: 25 Bits incresing in ECC: 300
Dimension of Data Matrix
  • For finder pattern: Width of the finder pattern=the width of the X dimension.
  • For alignment pattern: the width of the alignment pattern = the width of 2X dimension.
  • For Quiet zone: The minimum quiet zone=the width of the X dimension. Or width of 2X to 4X should be employed.