2 D Datamatrix Codes, what’s so special about them, and how are they better than the “standard” ones?
We are all familiar with 1 Dimensional barcodes, more commonly known as linear barcodes. It is simply a machine readable form of data, and is commonly used on products to allow automated registry when scanned at checkout systems. Linear barcodes have a maximum capacity of about 20 to 25 numeric characters, and the information contained within them helps retailers keep tracks of the number of items in store. It also hinders shoplifting (since it is harder to switch the price tags of higher to lower priced items).

The Linear 1D Barcode
As the name suggests, 2D barcodes can encode information in 2 dimensions. These can be a series of linear barcodes stacked on top of each other (as shown in the image below).

The stacked linear barcodes
Or the more popular form, a 2D matrix, which holds dots in an array that is much more compact than the stacked 1D barcodes. This array consists of black and white “cells” or modules arranged in either a square or rectangular pattern. As the information is held in more than 1 dimension, a different reader would be required to decode the information. However, they can hold a lot more information when compared to the traditional linear barcodes, and even if the code is partially damaged, it can still be read (unlike the 1D, linear barcodes).

The MaxiCode Label
UPS make good use of its large storage capabilities in their sorting offices. The MaxiCode Label holds all of the relevant destination information ready to be scanned by the couriers.

The 2D Datamatrix code
The 2D datamatrix code is the most common type of 2D matrix code. Its small size makes it the preferred choice by most manufacturing industries. 50 character codes can fit within a 2 to 3 mm² area, and read with a contrast as low as 20%! (Some silicon electronics applications have laser etched codes as small as 300 micrometers!)

A four segment Datamatrix.
Data Matrix symbols are made up of modules arranged within a perimeter finder and timing pattern, which can encode up to 3,116 characters from the entire ASCII character set, with extensions (all of the numbers, letters (uppercase and lowercase) and symbols on your keyboard).
I thought barcodes and 2D codes could only be used in retail applications?
Quite the contrary, the applications can be as varied as the applications. For example, if you were to use the 2D codes on identification plates around a production plant. The code could simply contain all of the readable text and numbers on the plate. In this instance, the 2D code could be used for quick logging or updating records using a 2D scanner. Sometimes it is not possible to include all of the information onto the plate, so the further information can be encoded into the 2D code. However, in some instances the information needs to be secure, and not visible unless scanned. The 2D code can be encrypted with a PIN number, that must be entered before the information can be read.
Many industries are moving towards Datamatrix codes to improve traceability, the pharmaceutical and aeroscpace industries are the quickest adopters due to the high quality control standards and the emergence of black markets with counterfeit parts. Datamatrix codes can hold the components details, manufacturer ID, part number, and a unique serial number.
The applications for datamatrix codes do not end there. The ability to decode any alphanumeric information means that website addresses can be stored within the codes, linking the reader / decoder to specific website addresses or intranets with internal, classified information. Most of the latest mobile phones have cameras within them, which (with the use of a free downloaded application) can be used to decode 2D datamatrix codes. This allows the user to scan the code, and access the relevant website via their mobile. This opens up the possibilities for “further reading” of artifacts in museums, artist details in galleries, or the genealogy of plants in botanical gardens.