EEVblog #637 - Omni Directional Laser Barcode Scanner Teardown - Page 1
Forum section: electronics / general

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 06:37:12 am
content: What's inside one of those omni-directional laser barcode scanner you use at the supermarket, and how does it work?Motorola / Symbol LS9208Datasheets:Reflective Interrupterhttp://www.osram-os.com/Graphics/XPic0/00083379_0.pdf/SFH%209202,%20Lead%20%28Pb%29%20Free%20Product%20-%20RoHS%20Compliant.pdfhttp://www.motorolasolutions.com/web/Business/Products/Bar%20Code%20Scanners/General%20Purpose%20Scanners/LS9208/_Documents/Static%20Files/LS9208.pdfhttp://www.keil.com/dd/docs/datashts/atmel/at91fr4042.pdfhttp://www1.futureelectronics.com/doc/RENESAS%20ELECTRONICS/DF2215RTE24V.pdf

author: FrankBuss
author_rank: Unknown
timestamp: July 02, 2014, 07:21:00 am
content: I don't know if it is a good idea that these devices can be configured with barcodes, because there could be a joker at the supermarket checkout who shows some of these special barcodes to the scanner and then the interface doesn't work anymore.

author: daqq
author_rank: Super Contributor
timestamp: July 02, 2014, 07:38:39 am
content: Hi, thanks for the teardown.But I'm pretty sure that this is just a 1D scanner - it would not support any 2D codes (QR etc). There is most likely just a photodiode inside the whole shielding assembly. According to the datasheet it supports the following:QuoteNone of which are 2D. As such the processing is simpler by orders of magnitude - just process a single 1D analog signal, look for a pattern.

author: bktemp
author_rank: Super Contributor
timestamp: July 02, 2014, 07:48:54 am
content: It seems to work like a flying spot scanner. The sensor seems to be a simple photodiode. The 1D signal is generated by sweeping the laser across the code. This is why it did not work with the laser blocked. This also eliminates any ambient light by simply high pass filtering the sensor ouput.Could you probe the output of the sensor? It could be interesting to look at the waveform while scanning different objects.

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 07:49:14 am
content: Quote from: daqq on July 02, 2014, 07:38:39 amAh, yes, you are right. I was looking at the new DS9208 Motorola datasheet which is 2D, not the older LS9208. So I had it in my mind it was 2D and was trying to explain it as such. Doh.

author: sunnyhighway
author_rank: Frequent Contributor
timestamp: July 02, 2014, 08:07:12 am
content: Quote from: FrankBuss on July 02, 2014, 07:21:00 amThat's why you need to put it into single line scan mode (programming mode) first, by pressing the only button it has.Furthermore, this button can easily be disabled by pulling the connector.

author: German_EE
author_rank: Super Contributor
timestamp: July 02, 2014, 08:20:14 am
content: Sorry Dave, I just get a message saying 'This video is private'.

author: electromatt
author_rank: Newbie
timestamp: July 02, 2014, 08:30:31 am
content: Quote from: German_EE on July 02, 2014, 08:20:14 amSame here - Perhaps Dave is in the process of uploading a new version?

author: VK5RC
author_rank: Unknown
timestamp: July 02, 2014, 10:29:26 am
content: For 2001 Space Oddessy fans , HAL has taken over youtube !"Dave you know I can't comply to that request" or something close to that anyway!HiHi

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 11:02:45 am
content: Quote from: electromatt on July 02, 2014, 08:30:31 amYep, corrected version, with an additional observation.

author: electronics man
author_rank: Frequent Contributor
timestamp: July 02, 2014, 11:53:45 am
content: It's telling me it's private as well

author: josem
author_rank: Regular Contributor
timestamp: July 02, 2014, 12:17:51 pm
content: Quote from: FrankBuss on July 02, 2014, 07:21:00 amThese devices almost always offer the option of turning off configuration barcodes or only accepting them immediately after boot up.Any decent supermarket system would have one of those options enabled... but perhaps many do not.

author: Fennec
author_rank: Regular Contributor
timestamp: July 02, 2014, 01:01:46 pm
content: Quote from: electronics man on July 02, 2014, 11:53:45 amWorking now

author: ElektronikLabor
author_rank: Regular Contributor
timestamp: July 02, 2014, 01:08:33 pm
content: QuoteWhat is different in the current version?I watched only the old version, which was 1:30 longer!

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 01:19:47 pm
content: Quote from: medvedev on July 02, 2014, 01:08:33 pmI added a part on what that mysterious 6 pin slit package might be doing.

author: andtfoot
author_rank: Unknown
timestamp: July 02, 2014, 01:56:54 pm
content: A while back I had a casual job for a couple of months repairing barcode scanners. It was pretty much only board level swaps for the larger units, and entire unit swaps for the cheaper handhelds.One of my favourite fault descriptions that came through was "laser no wobble". (well it seemed funny at the time...)

author: Jorpy
author_rank: Contributor
timestamp: July 02, 2014, 02:17:46 pm
content: There never was a 53rd week of 2005.. How can that Atmel chip have been manufactured there?

author: ElektronikLabor
author_rank: Regular Contributor
timestamp: July 02, 2014, 02:30:13 pm
content: Quote from: EEVblog on July 02, 2014, 01:19:47 pmThanks Dave, I also asked myself what it is.BTW: You also added the curious reflective square on the top of the prismhttp://youtu.be/PIn00-qW5WI?t=22m16sCould it be a counterweight for the balance of the prism? I mean the "something in the corner" thing.

author: Cr0oK
author_rank: Newbie
timestamp: July 02, 2014, 03:40:34 pm
content: Hi Davethe mysterious part is something called reflective interrupter. Like thishttp://www.osram-os.com/Graphics/XPic0/00083379_0.pdf/SFH%209202,%20Lead%20(Pb)%20Free%20Product%20-%20RoHS%20Compliant.pdfGreetings Chris

author: Refrigerator
author_rank: Super Contributor
timestamp: July 02, 2014, 04:05:38 pm
content: Quote from: Jorpy on July 02, 2014, 02:17:46 pmTime paradox ?

author: SeanB
author_rank: Super Contributor
timestamp: July 02, 2014, 04:57:51 pm
content: Dave, do you want the hand held version of that scanner?

author: tinytim
author_rank: Contributor
timestamp: July 02, 2014, 05:35:23 pm
content: and no comment wouldbe complete without a link to the defcon vidand no i have not tried it with tesco special money off coupons.

author: lpickup
author_rank: Regular Contributor
timestamp: July 02, 2014, 06:16:27 pm
content: Quote from: Jorpy on July 02, 2014, 02:17:46 pmWhat, you guys have never completed a project on December 37th?

author: Lukas
author_rank: Frequent Contributor
timestamp: July 02, 2014, 07:20:24 pm
content: Have you probed the laser diode? I'm curious to know whether it's modulated, which would make detection a lot easier.

author: bitwelder
author_rank: Super Contributor
timestamp: July 02, 2014, 07:35:40 pm
content: I think that the shock mount system serves not only to avoid receiving shocks from outside, but also to avoid propagate the mirror vibrations to the external enclosure (which would make the device quite unpleasant to keep on the counter).

author: rob77
author_rank: Super Contributor
timestamp: July 02, 2014, 07:55:14 pm
content: Quote from: Jorpy on July 02, 2014, 02:17:46 pmactually the week numbering is not consistent all over the world.. there are at least 2 definitions of the 1st week of the year (i know about 2, but there might be even more). so it easily could be that Atmel is using a different week numbering than you

author: PA0PBZ
author_rank: Super Contributor
timestamp: July 02, 2014, 08:21:54 pm
content: I don't think there is a lot of processing for the '5 angles', the output of the photodiode is just a 01010111011 bitstream and whenever the right laserline hits the barcode it will produce a readable output just like the handheld one. The only thing they have to look after is a timeout whenever there is a positive detection because I can imagine that there's more than one scanline hitting the barcode.

author: rob77
author_rank: Super Contributor
timestamp: July 02, 2014, 08:47:43 pm
content: Quote from: PA0PBZ on July 02, 2014, 08:21:54 pmactually the photodiode produces a constant stream for all scan lines - so you end up with a stream of 0s and 1s for all scan lines the reader does.. now consider that the barcodes have NO standard sizes - just the ratio between the "strips" in the code matter - so you don't know how wide the 0s and 1s are supposed to be....and to make it even worse, the distance of the code from the reader introduces further variations... angle between the barcode a scan line is introducing even more.... so actually it's a LOT OF PROCESSING for that little ARM there to find the pattern than matches one of the bar-codes

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 10:08:53 pm
content: Quote from: Jorpy on July 02, 2014, 02:17:46 pmDid I really say that without engaging my brain?

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 10:10:03 pm
content: Quote from: Cr0oK on July 02, 2014, 03:40:34 pmAh, awesome, thanks.I was spot on it seems.

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 10:16:31 pm
content: Quote from: rob77 on July 02, 2014, 08:47:43 pmThat's what I suspect.I'd love to see the algorithms used.It seems that all the barcode types can be turned on and off in software as well.

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 10:17:25 pm
content: Quote from: SeanB on July 02, 2014, 04:57:51 pmI wouldn't mind the exact same 2D DS9208 model for comparison.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 02, 2014, 10:17:44 pm
content: My guess is the chip on the right is an analogue front-end, and the other is a barcode processor - they make gazillions of these, so worth doing an ASIC to do the complex task of recognising many different codes coming in at a variety of rates.I think you'd struggle to reliably read all the various barcode formats even with an ARM, and bear in mind previous incarnations would have probably used an older processor, but with the same ASIC to do the hard work.I would think the ARM is probably more about supporting things like fast RS485 networks with multiple readers.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 02, 2014, 10:20:55 pm
content: Quote from: EEVblog on July 02, 2014, 10:17:25 pm2D code scanners are basically just cameras with an area illuminator. The only special features are a narrowband optical filter - it's also possible that they might modulate the illumination synchronous with the camera to eliminate other light sources.

author: EEVblog
author_rank: Unknown
timestamp: July 02, 2014, 10:43:47 pm
content: Quote from: mikeselectricstuff on July 02, 2014, 10:17:44 pmThey already have that fairly beefy H8S processor that could do that, surelyhttp://www1.futureelectronics.com/doc/RENESAS%20ELECTRONICS/DF2215RTE24V.pdf

author: N2IXK
author_rank: Frequent Contributor
timestamp: July 02, 2014, 10:58:14 pm
content: Those reflective optosensors have been around for quite some time. That one looks nice and robust. I have replaced a few defective ones on equipment over the years, used in this type of application (position/speed feedback sensors on VTR tape reels and color wheel sensors on DLP Projectors) which were tiny little things made by Sharp. They definitely seem to "wear out" with age, with the intensity of the IR output falling off dramatically.

author: Stonent
author_rank: Super Contributor
timestamp: July 02, 2014, 11:35:01 pm
content: I haven't seen the video yet but configuration of bar code scanners via a bar code config page is fairly common.For some I've set up before, you want to turn off certain formats to prevent the user from accidentally scanning the wrong code. If you have someone scanning boxes for a serial number you would want to disable UPC to prevent an accidental entry of that as a serial number. This is common when you have someone on a forklift that is scanning boxes that may have numerous labels that could be accidentally scanned.Another common configuration is preamble and postamble being set via barcode. I've seen that used for serial numbers where you have the items numbered already and may have purchased them in advance, but there's additional information that is configuration specific that makes its way into the serial number. As for the postamble, commonly it is a carriage return, but may need to be a tab, or a comma depending on the application.For the preamble, I've seen that used to append a date code to the beginning of the serial number, or a number that indicates to what year's regulatory compliance it adheres to.Lets say your company produces control modules for a product that you also build. Those modules are all 100% electrically identical but one goes down a line that is in your current product that adheres to a regulatory standard enacted in 2012 and the other goes down another line that builds aftermarket replacement assemblies for the version that only had to adhere to a 2010 standard. (based on firmware).You configure your scanner to append a code to the beginning of the scanned in serial number so when it gets scanned it sees it's a 2010 device and loads the 2010 firmware.Anyway, that's one way I've seen it.

author: Tothwolf
author_rank: Regular Contributor
timestamp: July 03, 2014, 03:24:19 am
content: Do not look into laser with remaining eye.Any other laser geeks cringe when Dave stopped the rotating mirror with a spudger? I was surprised it still scanned at all with the scuffs in the mirrorA tip for newcomers to laser optics... The best thing I've found for cleaning these sort of optics is 190 proof Everclear (grain alcohol). I don't know how anyone could possibly drink the stuff, but it's dirt cheap and much easier (and cheaper!) to obtain than lab-grade ethanol. Isopropyl alcohol is no good for laser optics since it has too many impurities and leaves a residue on the optics that distorts the beam.

author: SeanB
author_rank: Super Contributor
timestamp: July 03, 2014, 04:57:28 am
content: Quote from: EEVblog on July 02, 2014, 10:17:25 pmNo. it is the baby PC with an integrated scanner, basically a MSDOS computer shoehorned into a small multimeter sized package, like those Teklogix barcode readers you see being used for inventory control. It had a few drop tests that killed the scanner part, and the battery died from the charger being a dumb one, but it still boots to the dos prompt with an external 5V supply. It was used to do a scan and count for inventory management, but the back end moved on and no longer supported it, and it used a hard to find serial port as well.

author: zapta
author_rank: Super Contributor
timestamp: July 03, 2014, 05:54:37 am
content: Very interesting video, especially the intersection of electronics, mechanics, optics and daily life objects.Dave, are the driving signals of the motor and vibrating mirror in sync? (I would think so since the light pattern looks consistent).Also, have you tried to look with oscilloscope at the output data stream of the receiver? Would be interesting to correlate with the input pattern (e.g. a white paper with one circle in the middle) in different lighting conditions.

author: hikariuk
author_rank: Unknown
timestamp: July 03, 2014, 06:58:11 am
content: Quote from: Jorpy on July 02, 2014, 02:17:46 pm2004 did though and days 6 and 7 of Week 53 2004 were the 1st and 2nd of Jan 2005. It's possible it was made on one of those days and whatever puts the week of manufacture on the chips uses the ISO week number and whatever the current year is, rather than whatever is the ISO week and ISO week-year.

author: alper.y
author_rank: Contributor
timestamp: July 05, 2014, 04:05:59 pm
content: Does single directional (line) scanner use non-mechanical laser sweeping? Beacues there are no moving parts, like mirors as far as I know. Has it array of sensors? There is a need for sweeping whether mechanical or non-mechanical for proper operation, right?

author: hikariuk
author_rank: Unknown
timestamp: July 05, 2014, 04:28:27 pm
content: Quote from: alper.y on July 05, 2014, 04:05:59 pmI think laser based readers either have to use a rotating prism or wobbly mirror. If there's no moving parts at all it has to be using some other kind of reading technology, like CCDs. The red light from those is probably just LED illumination.

author: bktemp
author_rank: Super Contributor
timestamp: July 05, 2014, 04:30:08 pm
content: I think both variants exist:The other scanner Dave has, with the singe line is based on the same laser scanning mechanism (as far as I know), but without the rotating mirror beeing in different angles and without the wobbling mirror.The other variant I have seen, has flashing leds to light up the whole code at once and a ccd or cmos line sensor to read the line image.The main advantage of the laser version is the absence of any optics in front of the sensor. Therefore it has no limitations in the depth of focus since there is no focus point. The only limitation is the amount of light beeing reflected back to the sensor.

author: alper.y
author_rank: Contributor
timestamp: July 05, 2014, 07:52:12 pm
content: Quote from: bktemp on July 05, 2014, 04:30:08 pmSo, what do you mean by same laser scanning mechanisim but without rotating mirrors? Mechanical scanning but without any rotation? Sorry, I didn't get it.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: July 05, 2014, 08:57:44 pm
content: More modern single-line scanners tend to use single line CCDs, which avoids the need for any mechanical parts. Proformance of these is impressive - I've seen one read a standard sized UPC code from about 3 feet away.

author: SeanB
author_rank: Super Contributor
timestamp: July 06, 2014, 09:06:50 am
content: The rotating or wobbling mirror ones use a large area photodiode and scan the laser light so only a small dot is illuminated at a time, and filter out all other light other than the laser light, so can get very good recognition with no degradation from focussing errors. Ones that use a line scanner typically use a barrel shaped lens to focus light onto the CDD, and typically are focussed at infinity for the lens, so will work so long as the barcode is more than about 5cm away for most small cheap plastic lenses. They work so long as the barcode is smaller than the image focussed on the line CCD, and till the space between the smallest feature ( a line representing a 1 bit, either black or white) is less than a single pixel in width. This can give a large range, as you can get 2k line CDD imagers in a small single chip package about a DIP18 long. those are also used in fax machines and digital scanners if they only do a monochrome scan.You also get 3D scanners which are basically a digital camera and software, and these do a good job on damaged barcodes, as they can often use the undamaged parts of the barcode to recreate the damaged sections, like on a barcode that has a faded part and a good part but which a line scanner cannot read.

author: rs20
author_rank: Super Contributor
timestamp: July 06, 2014, 11:28:57 am
content: Quote from: rob77 on July 02, 2014, 08:47:43 pmThe thing is, all of these different factors just combine into one scale factor: how long a strip is in microseconds (or bits). It's not like the barcode scanner has a complex 3D model specifically figuring out barcode size, barcode distance, etc, etc, it all simplifies down to a scaling constant. It's moderately more complicated than that because perspective might make the strips slowly change size over the length of the barcode, but still, detecting whether a string of zeros is about twice or half as long as a following string of ones doesn't seem all that difficult or advanced or "a lot of processing". The only thing that's difficult here is the sheer data rate being handled, not the complexity of the algorithm. I claim.

author: mrflibble
author_rank: Super Contributor
timestamp: July 06, 2014, 11:44:28 am
content: Interesting teardown, loved it.