Electronic – arduino – Reverse engineering a 12 pin LCD

7segmentdisplayarduinolcdreverse-engineering

I just found a broken "laser projecting alarm clock". I took it apart, and am interested in only the laser projection arm. This consists of a laser diode (although I suspect that this is actually just a normal LED), a small LCD screen, and a plastic lens, which can be moved for focus. The LED has two wires. The LCD has 12 wires, which are connected more or less directly to the unit's microcontroller (a couple appear to have a single capacitor or resistor in between). The IC has an enamel blob and no markings. LCD wires are marked C1, C1, C2, and then S1 to S9. The board appears to be mostly running at about 3V (batteries are all 3V or 3.7V, and it has a 3V DC input).

The laser projection arm looks like a useful device. Since it can project time, then I assume it has at least a 3.5 digit 7-segment display (18:88), but the unpowered LCD just looks semi-transparent and green, and I can't see any markings. I would like to be able to use it for other projects, but I'm not sure how it works, nor how to start figuring it out. I have looked for data sheets of LCDs, but haven't found anything similar. I have a Arduino Leonardo, and was thinking of using it to figure out how the LCD is controlled.

So, a few of questions: Is the c1-3, s1-9 pinout common? Is it likely that the 5V from the Arduino could damage the (presumably) 3V LCD? What might be a good way to probe the functionality of the LCD?

Best Answer

Based upon the labeling, I would guess that the LCD glass has a total of 27 segments which are multiplexed in a 3x9 arrangement. The easiest way to produce a map is probably to temporarily wire all 12 LCD wires to CPU output pins, and then write a program that will alternately write (011111111111) and (100000000000) to the display (at 1kHz or so) until you've observed what segments are connected to the first pin, then (101111111111) and (010000000000) until you've mapped out what segments are connected to the second pin, etc. When driving the display, you must make certain that amount of time the outputs spend in any state is about the same as the amount of time they spend in the all-bits-complemented state; failure to do this may cause temporary damage to the display within seconds [meaning the display will look "odd" for awhile, but may eventually return to normal], and destroy it within minutes.