- A barcode is an optical, machine-readable, representation of data; the data usually describes something about the object that carries the barcode. Traditional barcodes systematically represent data by varying the widths and spacings of parallel lines, and may be referred to as linear or one-dimensional (1D). Later, two-dimensional (2D) variants were developed, using rectangles, dots, hexagons and other geometric patterns, called matrix codes or 2D barcodes, although they do not use bars as such. Initially, barcodes were only scanned by special optical scanners called barcode readers. Later application software became available for devices that could read images, such as smartphones with cameras.
- An early use of one type of barcode in an industrial context was sponsored by the Association of American Railroads in the late 1960s. Developed by General Telephone and Electronics (GTE) and called KarTrak ACI (Automatic Car Identification), this scheme involved placing colored stripes in various combinations on steel plates which were affixed to the sides of railroad rolling stock. Two plates were used per car, one on each side, with the arrangement of the colored stripes encoding information such as ownership, type of equipment, and identification number. The plates were read by a trackside scanner, located for instance, at the entrance to a classification yard, while the car was moving past. The project was abandoned after about ten years because the system proved unreliable after long-term use.
- Barcodes became commercially successful when they were used to automate supermarket checkout systems, a task for which they have become almost universal. Their use has spread to many other tasks that are generically referred to as automatic identification and data capture (AIDC). The very first scanning of the now ubiquitous Universal Product Code (UPC) barcode was on a pack of Wrigley Company chewing gum in June 1974.
- Other systems have made inroads in the AIDC market, but the simplicity, universality and low cost of barcodes has limited the role of these other systems, particularly before technologies such as radio frequency identification (RFID) became available after 2000.
- A barcode reader (or barcode scanner) is an electronic device that can read and output printed barcodes to a computer. Like a flatbed scanner, it consists of a light source, a lens and a light sensor translating optical impulses into electrical ones. Additionally, nearly all barcode readers contain decoder circuitry analyzing the barcode’s image data provided by the sensor and sending the barcode’s content to the scanner’s output port.
- Types of barcode scanner
- Pen-type readers consist of a light source and photodiode that are placed next to each other in the tip of a pen or wand. To read a bar code, the person holding the pen must move the tip of it across the bars at a relatively uniform speed. The photodiode measures the intensity of the light reflected back from the light source as the tip crosses each bar and space in the printed code. The photodiode generates a waveform that is used to measure the widths of the bars and spaces in the bar code. Dark bars in the bar code absorb light and white spaces reflect light so that the voltage waveform generated by the photodiode is a representation of the bar and space pattern in the bar code. This waveform is decoded by the scanner in a manner similar to the way Morse code dots and dashes are decoded.
- Laser scanners work the same way as pen type readers except that they use a laser beam as the light source and typically employ either a reciprocating mirror or a rotating prism to scan the laser beam back and forth across the bar code. As with the pen type reader, a photo-diode is used to measure the intensity of the light reflected back from the bar code. In both pen readers and laser scanners, the light emitted by the reader is rapidly varied in brightness with a data pattern and the photo-diode receive circuitry is designed to detect only signals with the same modulated pattern.
CCD readers – LED scanners
- CCD readers use an array of hundreds of tiny light sensors lined up in a row in the head of the reader. Each sensor measures the intensity of the light immediately in front of it. Each individual light sensor in the CCD reader is extremely small and because there are hundreds of sensors lined up in a row, a voltage pattern identical to the pattern in a bar code is generated in the reader by sequentially measuring the voltages across each sensor in the row. The important difference between a CCD reader and a pen or laser scanner is that the CCD reader is measuring emitted ambient light from the bar code whereas pen or laser scanners are measuring reflected light of a specific frequency originating from the scanner itself.
- Two-dimensional imaging scanners are a newer type of bar code reader. They use a camera and image processing techniques to decode the bar code.
- Video camera readers
- Use small video cameras with the same CCD technology as in a CCD bar code reader except that instead of having a single row of sensors, a video camera has hundreds of rows of sensors arranged in a two dimensional array so that they can generate an image.
- Large field-of-view readers
- Use high resolution industrial cameras to capture multiple bar codes simultaneously. All the bar codes appearing in the photo are decoded instantly (ImageID patents and code creation tools) or by use of plugins (e.g. the Barcodepedia used a flash application and some web cam for querying a database), have been realized options for resolving the given tasks.
Omnidirectional barcode scanners
- Omnidirectional scanning uses “series of straight or curved scanning lines of varying directions in the form of a starburst, a Lissajous pattern, or other multiangle arrangement are projected at the symbol and one or more of them will be able to cross all of the symbol’s bars and spaces, no matter what the orientation. Almost all of them use a laser. Unlike the simpler single-line laser scanners, they produce a pattern of beams in varying orientations allowing them to read barcodes presented to it at different angles. Most of them use a single rotating polygonal mirror and an arrangement of several fixed mirrors to generate their complex scan patterns.
- Omnidirectional scanners are most familiar through the horizontal scanners in supermarkets, where packages are slid over a glass or sapphire window. There are a range of different omnidirectional units available which can be used for differing scanning applications, ranging from retail type applications with the barcodes read only a few centimetres away from the scanner to industrial conveyor scanning where the unit can be a couple of metres away or more from the code. Omnidirectional scanners are also better at reading poorly printed, wrinkled, or even torn barcodes.
Cell phone cameras
- Smartphones can be used in Google’s mobile Android operating system via both their own Google Goggles application. Nokia’s Symbian operating system features a barcode scanner which can scan barcodes, while mbarcode is a barcode reader for the Maemooperating system. In the Apple iOS, a barcode reader is not automatically included, but there are more than fifty free or paid apps available with both scanning capabilities and hard-linking to URI. With BlackBerry devices, the App World application can natively scan barcodes. Windows Phone 8 is able to scan barcodes through the Bing search app.
3. Methods of connection
- Early serial interfaces
Early barcode scanners, of all formats, almost universally used the then-common RS-232 serial interface. This was an electrically simple means of connection and the software to access it is also relatively simple, although needing to be written for specific computers and their serial ports.
- Proprietary interfaces
There are a few other less common interfaces. These were used in large EPOS systems with dedicated hardware, rather than attaching to existing commodity computers. In some of these interfaces, the scanning device returned a “raw” signal proportional to the intensities seen while scanning the barcode. This was then decoded by the host device. In some cases the scanning device would convert the symbology of the barcode to one that could be recognized by the host device, such as Code 39.
- Keyboard wedge – PS/2
With the popularity of the PC and its standard keyboard interface, it became ever easier to connect physical hardware to a PC and so there was commercial demand similarly to reduce the complexity of the associated software. “Keyboard wedge” hardware plugged between the PS/2 port and the keyboard, with characters from the barcode scanner appearing exactly as if they had been typed at the keyboard. This made the addition of simple barcode reading abilities to existing programs very easy, without any need to change them, although it did require some care by the user and could be restrictive in the content of the barcodes that could be handled.
Later barcode readers began to use USB connectors rather than the keyboard port, as this became a more convenient hardware option. To retain the easy integration with existing programs, a device driver called a “software wedge” could be used, to emulate the keyboard-impersonating behavior of the old “keyboard wedge” hardware. In many cases, a choice of USB interface types (HID, CDC) are provided. Some have PoweredUSB.
- Wireless networking
Some modern handheld barcode readers can be operated in wireless networks according to IEEE 802.11g (WLAN) or IEEE 802.15.1 (Bluetooth). Some barcode readers also support radio frequencies viz. 433 MHz or 910 MHz. Readers without external power sources require their batteries be recharged occasionally, which may make them unsuitable for some uses.
4. List of GS1 country codes
Code Country 000 – 019 UPC-A compatible – United States and Canada 020 – 029 UPC-A compatible – Used to issue restricted circulation numbers within a geographic region (MO defined) 030 – 039 UPC-A compatible – United States drugs (see United States National Drug Code) 040 – 049 UPC-A compatible – Used to issue restricted circulation numbers within a geographic region (MO defined) 050 – 059 UPC-A compatible – GS1 US reserved for future use 060 – 099 UPC-A compatible – United States and Canada 100 – 139 United States 200 – 299 Used to issue GS1 restricted circulation number within a geographic region (MO defined) 300 – 379 France and Monaco 380 Bulgaria 383 Slovenia 385 Croatia 387 Bosnia and Herzegovina 389 Montenegro 390 Kosovo 400 – 440 Germany (440 code inherited from old East Germany on reunification, 1990) 450 – 459 Japan (new Japanese Article Number range) 460 – 469 Russia (barcodes inherited from the Soviet Union) 470 Kyrgyzstan 471 Republic of China (Taiwan) 474 Estonia 475 Latvia 476 Azerbaijan 477 Lithuania 478 Uzbekistan 479 Sri Lanka 480 Philippines 481 Belarus 482 Ukraine 483 Turkmenistan  484 Moldova 485 Armenia 486 Georgia 487 Kazakhstan 488 Tajikistan 489 Hong Kong 490 – 499 Japan (original Japanese Article Number range) 500 – 509 United Kingdom 520 – 521 Greece 528 Lebanon 529 Cyprus 530 Albania 531 Macedonia 535 Malta 539 Republic of Ireland 540 – 549 Belgium and Luxembourg 560 Portugal 569 Iceland 570 – 579 Denmark , Faroe Islands and Greenland 590 Poland 594 Romania 599 Hungary 600 – 601 South Africa 603 Ghana 604 Senegal 608 Bahrain 609 Mauritius 611 Morocco 613 Algeria 615 Nigeria 616 Kenya 618 Ivory Coast 619 Tunisia 620 Tanzania 621 Syria 622 Egypt 623 Brunei 624 Libya 625 Jordan 626 Iran 627 Kuwait 628 Saudi Arabia 629 United Arab Emirates 640 – 649 Finland 690 – 699 People’s Republic of China 700 – 709 Norway 729 Israel 730 – 739 Sweden : EAN/GS1 Sweden 740 Guatemala 741 El Salvador 742 Honduras 743 Nicaragua 744 Costa Rica 745 Panama 746 Dominican Republic 750 Mexico 754 – 755 Canada 759 Venezuela 760 – 769 Switzerland and Liechtenstein 770 – 771 Colombia 773 Uruguay 775 Peru 777 Bolivia 778 – 779 Argentina 780 Chile 784 Paraguay 786 Ecuador 789 – 790 Brazil 800 – 839 Italy, San Marino and Vatican City 840 – 849 Spain and Andorra 850 Cuba 858 Slovakia 859 Czech Republic 860 Serbia 865 Mongolia 867 North Korea 868 – 869 Turkey and Northern Cyprus 870 – 879 Netherlands 880 South Korea 884 Cambodia 885 Thailand 888 Singapore 890 India 893 Vietnam (previously used by North Vietnam and South Vietnam before 1975) 894 Bangladesh 896 Pakistan 899 Indonesia 900 – 919 Austria 930 – 939 Australia 940 – 949 New Zealand 950 GS1 Global Office: Special applications 951 Used to issue General Manager Numbers for the EPC General Identifier (GID) scheme as defined by the EPC Tag Data Standard 955 Malaysia 958 Macau 960 – 961 GS1 UK Office: GTIN-8 allocations 962 – 969 GS1 Global Office: GTIN-8 allocations 977 Serial publications (ISSN) 978 – 979 “Bookland” (ISBN) – 979-0 used for sheet music (ISMN-13, replaces deprecated ISMN M- numbers) 980 Refund receipts 981 – 984 GS1 coupon identification for common currency areas 990 – 999 GS1 coupon identification
Prefixes not listed above are reserved by GS1 Global Office for allocations in non-member countries and for future use. Prefixes used in non-member countries and reserved by GS1 for future use are:
- 381, 382, 384, 386 & 388
- 391 – 399
- 441 – 449
- 472 & 473
- 510 – 519
- 522 – 527
- 532 – 534 & 536 – 538
- 550 – 559
- 561 – 568
- 580 – 589
- 591 – 593 & 595 – 598
- 602 & 605 – 607
- 610, 612, 614 & 617
- 630 – 639
- 650 – 689
- 710 – 728
- 747 – 749
- 751 – 753 & 756 – 758
- 772, 774 & 776
- 781 – 783, 785, 787 & 788
- 791 – 799
- 851 – 857
- 861 – 864 & 866
- 881 – 883, 886, 887 & 889
- 891, 892, 895, 897 & 898
- 920 – 929
- 952 – 954, 956, 957 & 959
- 970 – 976
- 985 – 989