Laser scanners direct 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 modulated pattern.
Two-dimensional imaging scanners 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.
Cell phone cameras open up a number of applications for consumers. For example:
Barcode readers can be distinguished based on housing design as follows:
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.
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.
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.