How to identify a bar code symbology Part 2: Industrial 1D codes

There are over a hundred of types of 1D barcodes, but only a few are commonly used today. These are Code 128, Code 39,  and Interleaved 2 of 5, with Code 128 being the most common and Interleaved 2 of 5 (I 2 of 5) the least.

Less common 1D codes still used today are Codabar, Code 93, Code 11,  Two of Five, and MSI code.

2D barcodes are becoming more popular; I’ll write about them at a later date. 1D codes only contain data in one dimension, in the widths of the bars and spaces.

The first step to identifying a code is to note how many different bar and space widths the code uses:

Code 39 and I 2 of 5 only have two different widths of bars and spaces. If it has more than two, it’s usually Code 128, which uses four different widths. UPC uses four bar widths too, but you can usually recognize UPC from the guard bar patterns.

If the code only has two widths the next thing to look at is the start/stop patterns. The first (and last) five bars in a Code 39 symbol are narrow, narrow, wide, wide, narrow. I 2 of 5 starts with two narrow bars and ends with a wide and narrow bar. I 2 of 5 is numeric only, so if the code has two bar widths and alpha characters, it’s probably Code 39.

Note that the start or stop pattern in I 2 of 5 is not unique and can easily be found in the symbol itself, making this code vulnerable to short scans. The red line below represents a laser beam from a scanner going across an I 2 of 5 symbol:The laser exits on a wide and narrow bar pattern that could be interpreted as a stop code, resulting in a short scan. You’ll often see I 2 of 5 printed with bars above or below the code, called bearer bars,  to prevent short scans.

Most scanners can be set to read I 2 of 5 as fixed length codes,  preventing the short scan issue. Here’s a tip: To find out how many characters are in an I 2 of 5 symbol, count the number of bars, subtract 4 (for start/stop) and divide by 2.5. For example, the symbol with the red line through it about has 24 bars, so 24 – 4 = 20, divided by 2.5 gives you 8.

Another method of eliminating short scans is to enable a check digit in I 2 of 5. Always enable a check digit if you are going to read variable length I 2 of 5 symbols.

I’ll cover Code 39 and Code 128 in more detail later.

 

How to identify a barcode symbology Part 1: UPC codes

UPC is an abbreviation for Universal Product Code. It uses four different bar and space widths and encodes each number using two bars and two spaces.

We all can identify UPC-A (at least in the states) with its telltale guard bars, the 12 numeric characters printed in groups of 1, 5, 5, and 1. These numbers are the system digit, manufacturer’s code, item ID, and check digit respectively. The guard bars are the two lines that are longer than the rest at the beginning, middle, and end of the symbol.

UPCA symbol
UPCA symbol

The guard bars can be considered as start and stop code and don’t encode any data. There was some talk about UPC being the “Mark of the Beast” mentioned in the book of Revelations because the number six, when printed on the right side of the symbol is two narrow bars, so the conspiracy theorists thought UPC secretly contained “666”. I occasionally got questioned about this at trade shows.

There are a number of variations of UPC. There’s UPC-E, or zero suppressed code that is usually used on small items:

There’s UPC with a 2 or 5 digit supplemental codes used on magazines and periodicals; the supplemental number indicating the issue:

In Europe, it’s EAN, or the European Article Numbering code:

The first three digits in an EAN code indicate the country code and unlike UPC, the manufacturer number and item number are variable length. Notice that there are 13 numbers in an EAN code even though there are the same number of bars as spaces as a UPC-A code. UPC numbers have left and right parity; so a digit printed on the left side has a different pattern when it is printed on the right side. The extra number is encoded by varying the parity pattern on the left part of the EAN symbol.

There is also EAN-8 and EAN with supplemental codes that are similar to UPC-E and UPC with supplemental codes.

One special version of EAN worth mentioning is Bookland code. The country code of 978 has been assigned to a fictitious country, “Bookland” and is used to mark books. Bookland code uses the remaining EAN 10 digits to encode the ISBN number and uses a 5 digit supplemental to encode the suggested price:

The first digit in the supplemental code indicates the currency type. Check this out next time you buy a book. There are other versions of UPC, but they are pretty obscure.  RSS (Reduced Space Symbology) is also being used in retail applications.

For more on UPC  check out ADAMS1 and the GS1 organization.

 

 

Thermal barcode printer resolution

Thermal and thermal transfer printers use a printhead made up of individual dots that heat up to melt ribbon onto a label (thermal transfer) or darken some heat sensitive media (direct thermal). In either case you’ll need to determine the best printhead resolution for your application.

Printhead resolutions are specified in dots per inch, (dpi) and are nominally 200, 300, 400, or 600 dpi. The individual dot size for these are 5 mil (.005 inch), 3.3 mil, 2.5 mil, and 1.6 mil. Of course, a printer can’t print anything smaller than its dot size. Printheads are usually 4 inches wide, but you can also get them in 2, 6, and 8 inch widths.

Which resolution should you use? That depends on what you are printing.

If you’re printing shipping labels for UPS or Fed Ex and all you need is a legible address and bar codes that the shipping companies can scan, 200 dpi is the choice. Replacement printheads are cheaper and print speeds are higher at 200 dpi.

A few years ago the only way to print more data into a bar code in a small space was to print narrower bars. Not many applications used narrow bars (called the X dimension of a code) smaller than 5 mils. Today you would use a 2D code like Datamatrix to fit more data in a small space, making printhead resolution less important when printing small labels.

The real reason to use a higher resolution printhead is when you need to print a logo or small text; marketing people are very fussy about logos and the look of their finished goods labels. Here’s the same logo printed at 200 and 400 dpi. You’ll see that the 200 dpi suffers from jagged edges when printing curves or angled lines.

The effect of resolution is a lot more apparent when printing small images and text. Labels in the medical industry often require small images and warnings or instructions in multiple languages. It’s common to prepare these in Photoshop and save them as a bit map image to avoid the complexity of printing multiple languages on the thermal printer. Here are two examples, again at 200 and 400 dpi:

This image is blown up slightly, but the 200 dpi printing is unacceptable, the 400 is legible.

 

 

Why you should only use printers with displays

The Honeywell PM and PC series of printers are available with color displays. You can also order these without displays to save some money and use the LEDs/icons instead.

We don’t sell these printers without displays. The display gives you immediate access to the configuration menus, wizards, and error messages that make support work far easier.  Here’s a display and icon printer that have run out of labels:

Notice that there is a Wizard button under the message on the display unit. Pressing this will show a user how to install labels in a series of step by step pictures.

Printers are normally assigned a static IP address, or a reserved IP address via DHCP. But, when you first connect a printer to the network, how do you know the IP address that it has been assigned? This is easy with a display, it can be shown on screen. With an icon printer you have to first set up the media type, then calibrate the printer, wait two minutes and press and hold the feed key for three seconds. Test labels will print that show the current IP address of the printer, as long as the labels are the correct size and the IP doesn’t print off the side of the label or on the gap in between labels. Or you can make a static ARP entry using the printer’s MAC address on your PC, browse to the printer and set up a static IP, but that’s beyond most users.

There are some features that are only available with printers with displays. One of my favorites is the print quality wizard. The two things that determine the print quality of thermal printers are speed and heat. In general, slower printing yields better quality, and the heat applied by the printhead needs to be matched to the speed and materials used. There are three types of ribbons (wax, wax/resin, resin) and many types of label materials. Getting the right settings can be challenging.
The print quality wizard first asks you for the print speed (go slow!) and then prints five different labels using different media sensitivity settings. It then asks you to pick the best of the five and then prints three more labels at different darkness setting and again asks you to pick the best one. This is usually sufficient to dial in the settings properly, but you can manually change the print contrast for additional control, if needed.

These printer are also programmable, and having a display makes software a whole lot more user friendly.

If you are worried about user’s getting into the menu system and messing up your settings you can control access to the menu system through the menu system or the printer’s; web interface:

PC series printer web interface

You can disable access to the menu system, or enable it with a required PIN number to log in.

The difference in price between a PC43 with a display and one without is less than $69, well worth it. The same advice applies to the PM43 series.

One more tip on buying a PC43 printer: if you want a LAN connection for your printer, order it separately and install it yourself. If you order a PC43 with Ethernet already installed it is $131.20 (at our discounted price) more expensive, and the adapter ordered separately is $104. Installation of the adapter is very easy. All you need is a small Philips screwdriver and it won’t take more than a couple of minutes to install.

 

The best way to connect a Bluetooth scanner

Scanners should connect differently than most of the Bluetooth devices you’re used to. Normally you’d go into Setup, Bluetooth, (or some variation of this) then find the device you want to connect and instruct the OS to make a connection to this device. This type of connection is an outgoing connection, i.e. it’s initiated by the computer.

Most operating systems will not maintain a reliable connection this way. You probably know this from personal experience. How many times do you have to reconnect your Bluetooth headset to your phone? This is inconvenient when using a phone; for a scanner user who is being paid to manage inventory this is lost time and money. Do you really want to tell a user to go into Control Panel every time he needs to reconnect?

A better way to connect is to use an outgoing connection. The scanner connects to the Bluetooth MAC address of the computer and spawns a virtual Com port connection. Intermec has been doing this for years with their vehicle mount computers. Here’s a barcode from the side of a CV31 vehicle mount computer:

This is very convenient for the user, scan the barcode and get connected. Even better, this is a much more reliable connection than on outgoing connection. I have an SF61 Bluetooth scanner in house that’s connected to a Dell tablet using an outgoing connection, and it’s been running for more than six months.

If you want to implement this on a non-Intermec laptop or tablet PC you’ll need to install Intermec’s Smart Wedge software. Once it’s installed it will generate a connection bar code on screen:

Scan the barcode and you’ll connect. You’ll hear three ascending beeps when the connection is established.

Under Tools, Options, select “Reduce Smart Wedge in System Tray” and “Start Smart Wedge with Windows” and you will have a reliable and robust connection established between your scanner and PC.

Note that the Smart Wedge software will take the incoming data from the barcode scanner and post it to the current cursor position in the application that has Windows’ focus, so you can use this with almost any software.

In the unlikely event that the scanner loses connection with Smart Wedge, jut scan the connection barcode again to reestablish it. Of course, this only works with Intermec scanners; the SF61, SG20, and SR61B will all work.

 

My favorite scanner – Part 1

The Intermec (now Honeywell) EA30 scanner has a really great feature. It is a camera based scanner, so it can read both 1D (UPC, Code 128, Code 39) and 2D (Datamatrix, QR Code, Postnet) codes. It has a bright white illuminator and a laser aimer that looks like this:

It’s now common for a labels to have multiple bar codes on them and it can be difficult to scan only the one you intend, especially if they are crowded together:

You can enable Center Decoding in the EA30 using EasySet (under Operating Settings, Data Decode Security, Center Decoding) that instructs the scanner to only decode a symbol when the center dot on the aiming pattern is on a barcode.

So this will read:

And this will not:

It’s pretty intuitive, aim the dot where you want to scan.  If you ever have to scan a large number of bar codes during a shipping or receiving transaction, serial numbers for example, this feature can save a lot of time and aggravation.

There are other scanners that have a feature that is similar to center decoding in the EA30, but without the center aiming dot, they’re difficult to use, and some scanners depth of field (range, or scanning distance) is reduced when you turn centering on. This doesn’t happen with the EA30.

There are other nice features in the EA30 that I’ll cover in later posts.

The EA30 scan engine in available in the SG20 tethered and wireless scanners, and the CK3 hand held computer.

What goes around comes around

These are a couple of old circular bar codes, dating back to the 1970’s.

The first example was used to track totes filled with tape measures and divert them to the proper gate on a conveyor. The computer system that this symbol was used with was a Computer Identics laser scanner attached to a DEC PDP-8 with Plessey MOS memory and a ‘flip chip’ card decoder on a separate backplane. The scanning software loaded via a paper tape reader.

This is a binary encoded symbol with a value of ‘72’.  The laser scanner only read half of the label, and after it was decoded, the computer diverted the tote to the gate associated with the value 72. This was one of the oldest bar code systems that I have worked with.

 

The next example is called ‘Split Circle Code’. It was developed in  1974 by Bendix Recognition Systems.

The circle was split in half, with each half encoding part of the symbol.  This type of symbol required that both halves of the circle be read, so there were orientation issues that had to be dealt with in order to get good reads.

Bendix encoded these symbols as BCD (binary coded decimal) values and they were printed by Bendix printers.

This example was used in a baggage handling system at Eastern Airlines which used a Bendix scanner to read the labels at a rate of 70 bags per minute.

You can still see the texture of the luggage that the label was applied to.

Apparently, many customers had complaints about the adhesive residue left behind when the label was removed and this ultimately led to the demise of these scanning systems.

Will RFID make all of my dreams come true?

People unfamiliar with RFID technology expect to walk into a room, turn on an RFID reader and read all of the tag inside of the room. It doesn’t work that way.

RFID is a great data collection tool but you should be familiar with its basic operation. Our industry mostly uses passive UHF tags that operate in the 900 MHz frequency. Here’s a typical RFID inlay, or circuit:

The little black dot in the middle of the inlay is the RFID chip, the rest is the antenna. This is a passive tag which means that it does not use a battery, the tag gathers energy from radio waves aimed at it. Electromagnetic waves are made up of two waves, one electrical and one magnetic. When the magnetic part of the wave cuts across the antenna an electrical current is induced, which charges up the RFID chip. When enough energy is stored the RFID chip can begin to communicate. It does this by powering the antenna on and off, which reflects the incoming radio wave (on) or lets it pass through (off). Rapidly turning the antenna on and off is how the RFID chip modulates the reflected signal, which is how data is sent back to an RFID reader.

So there’s a couple of important things to note from this. First, the RFID inlay does not transmit radio signals, it reflects them, so the power coming back to the reader is quite small. People think that RFID tags work like the transponders in their cars that are used to collect toll information. These are active tags that have in internal battery and really do create and transmit radio waves (transmitter/responder) and have much greater range than passive RFID.

Secondly, the RFID circuit gathers energy from the magnetic part of the radio wave aimed at it, and sometimes the tag’s antenna can be orientated to that this doesn’t happen and the tag can’t be read. Radio waves can be blocked, absorbed, or reflected, by nearby materials, preventing the tag from being powered up or read. There are a lot of things that can go wrong.

RFID is a great technology, but it should be approached with caution. Always test your RFID tags in the environment where they will be used with the readers and antennas that you have chosen to make sure your application will be robust and reliable.

 

How does UPC work?

Here’s a typical UPC symbol from a box of Hefty trash bags:

UPCA symbol
UPC-A symbol

You can see that UPC is made up of 12 numbers. We’ll ignore the first and last numbers for now and just pay attention to the middle 10 digits.

The first five digits are assigned to one manufacturer. These manufacturer numbers are centrally managed, assigned, and sold by Global Standard One, or GS1, a non-profit organization. GS1 was formerly known as the UPC Code council.

Once a company is assigned a UPC code it’s up to them to assign the last five digits to their products as they choose. The company then informs GS1 of these product code assignment and GS1 adds them to its master database  which is made available to third parties, like your local grocery chain to do look ups at their cash registers.

A UPC code is really a pointer to a record in the GS1 data base. The description and price are returned from the database lookup.

One interesting thing about UPC is that there are two different symbol patterns that encode each number depending on if it’s on the left or right side of the symbol. Look at how the number three is encoded differently on the two sides of this symbol:

This was done to allow omni-directional scanning with early supermarket scanners. These were often just a couple of laser lines that intersected at 90 degrees, like a plus (+) sign. Because the numbers were encoded differently on the left and right it allowed scanners to read the symbol a half at a time and put it together before transmitting. Each half of the symbol is taller than it is wide (oversquare) so it’s guaranteed to completely pass through one of the laser lines in a single pass.