A barcode reader
(or barcode scanner
) is an optical scanner
that can read printed
, decode the data contained in the barcode and send the data to a computer
. Like a flatbed scanner
, it consists of a light source, a lens and a light sensor translating for optical impulses into electrical signals. Additionally, nearly all barcode readers contain decoder
circuitry that can analyze the barcode's image data provided by the sensor and sending the barcode's content to the scanner's output port.
Types of barcode scanners
Barcode readers can be differentiated by technologies as follows:
Pen-type readers consist of a light source and photodiode
that are placed next to each other in the tip of a pen. To read a barcode, 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 barcode. Dark bars in the barcode 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 barcode. 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 barcode. As with the pen-type reader, a photo-diode is used to measure the intensity of the light reflected back from the barcode. 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 modulation
CCD readers (also known as 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 barcode 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 barcode whereas pen or laser scanners are measuring reflected light of a specific frequency originating from the scanner itself. LED scanners can also be made using CMOS sensors, and are replacing earlier Laser-based readers.
Two-dimensional machine vision
are a newer type of barcode reader. They use a camera and image processing techniques to decode the barcode.
Video camera readers use small video cameras with the same CCD technology as in a CCD barcode 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 curve
, 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
While cell phone cameras without auto-focus are not ideal for reading some common barcode formats, there are 2D barcodes which are optimized for cell phones, as well as
(Quick Response) codes and Data Matrix
codes which can be read quickly and accurately with or without auto-focus.
Cell phone cameras open up a number of applications for consumers. For example:
Movies: DVD/VHS movie catalogs.
Music: Compact disc catalogs – playing an MP3 when scanned.
Book catalogs and device.
Groceries, nutrition information, making shopping lists when the last of an item is used, etc.
Personal Property inventory (for insurance and other purposes) code scanned into personal finance software when entering. Later, scanned receipt images can then be automatically associated with the appropriate entries. Later, the barcodes can be used to rapidly weed out paper copies not required to be retained for tax or asset inventory purposes.
If retailers put barcodes on receipts that allowed downloading an electronic copy or encoded the entire receipt in a 2D barcode, consumers could easily import data into personal finance, property inventory, and grocery management software. Receipts scanned on a scanner could be automatically identified and associated with the appropriate entries in finance and property inventory software.
Consumer tracking from the retailer perspective (for example, loyalty card programs that track consumers purchases at the point of sale by having them scan a QR code).
A number of enterprise applications using cell phones are appearing:
Access control (for example, ticket validation at venues), inventory reporting (for example, tracking deliveries), asset tracking (for example, anti-counterfeiting).
[Barcode reading apps for enterprise, codeREADr.com, 2010.]
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 Maemo operating system. In the Apple's iOS, a barcode reader is natively supported within the camera app. With BlackBerry devices, the App World application can natively scan barcodes. Windows Phone 8 is able to scan barcodes through the Bing search app.
Barcode readers can be distinguished based on housing design as follows:
- Handheld scanner
- with a handle and typically a trigger button for switching on the light like this are used in factory and farm automation for quality management and shipping.
- PDA scanner (or Auto-ID PDA)
- a PDA with a built-in barcode reader or attached barcode scanner.
- Automatic reader
- a back office equipment to read barcoded documents at high speed (50,000/hour).
- Cordless scanner (or Wireless scanner)
- a cordless barcode scanner is operated by a battery fit inside it and is not connected to the electricity mains and transfer data to the connected device like PC.
Main article: Barcode library
(or Barcode SDK)
Currently any Digital camera device or device which has document scanner can be used as Barcode reader with special software libraries, Barcode libraries. This allows them to add barcode features to desktop, web, mobile or embedded applications. In this way, combination of barcode technology and barcode library allows to implement with low cost any automatic document processing OMR, package tracking application or even augmented reality application.
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.
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 (USB, PS/2, etc)
As the PC with its various standard interfaces evolved, it became ever easier to connect physical hardware to it. Also, there were commercial incentives to reduce the complexity of the associated software. The early "Keyboard wedge
" hardware plugged in 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. Today the term is used more broadly for any device which can be plugged in and contribute to the stream of data coming "from the keyboard". Keyboard wedges plugging in via the USB
are readily available.
The "keyboard wedge" approach makes adding things such as barcode readers to systems simple. The software may well need no changes.
The concurrent presence of two "keyboards" does require some care on the part of the user. Also, barcodes often offer only a subset of the characters offered by a normal keyboard.
Subsequent to the PS/2 era, barcode readers began to use USB ports rather than the keyboard port, this being more convenient. To retain the easy integration with existing programs, it was sometimes necessary to load a device driver called a "software wedge", which facilitated the keyboard-impersonating behavior of the old "keyboard wedge" hardware.
Today, USB barcode readers are "plug and play", at least in Windows systems. Any necessary drivers are loaded when the device is plugged in.
In many cases, a choice of USB interface types (USB HID, CDC) are provided. Some have PoweredUSB.
Some modern handheld barcode readers can be operated in
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.
The scanner resolution is measured by the size of the dot of light emitted by the reader. If this dot of light is wider than any bar or space in the bar code, then it will overlap two elements (two spaces or two bars) and it may produce wrong output. On the other hand, if a too small dot of light is used, then it can misinterpret any spot on the bar code making the final output wrong.
The most commonly used dimension is 13 mil (0.013 inch or 0.33 millimetre), although some scanners can read codes with dimensions as small as 3 mil (0.003 inch or 0.075 millimetre). Smaller bar codes must be printed at high resolution to be read accurately.
Barcode for more details about barcode technology. Includes links to the technical details
Barcode Battler, a portable game console which scans barcodes as part of the gameplay
Barcode library, a software library that can be used to add barcode features to desktop, web, mobile or embedded applications.
CueCat, a cat-shaped handheld barcode reader. (Curiosity from the history of the PC)