2
\$\begingroup\$

I disassembled a cheap "wall projection" clock: enter image description here

And removed the LCD board that displays the projected clock readout in front of the super bright red LED: enter image description here

As a small hobby project, I'd like to wire this LCD up to a Wifi-equipped Arduino and make a simple NTP-based projection clock.

How do I interface with this board? I've never directly interfaced with an LCD before (with no accompanying control circuit), so I'm not sure how to proceed. As the image shows, the LCD board has two small ribbon cables containing 6 wires each. On each cable, one of the wires has white insulation. All 12 wires appear to go directly into the LCD pane, with no additional discrete components on the board.

The clock was powered by two AA batteries, so I'm assuming the logic level it uses is no more than 3V. The projected image displays the standard 4 clock digits in the format "24:59".

How do I apply voltages to these wires to display digits? Is it a simple one-to-one interface, where energizing one wire causes part of the display to turn opaque, or is it some sort of matrix, where multiple wires have to be activated in sequence to form the overall digits? Is it safe to assume the white wire is ground and the grey ones are signal, or is it the opposite?

Since I only have one of these, I don't want to blindly start experimenting by applying voltages across wires, and risk destroying it. How should I proceed?

Edit: I checked the output of some of the LCD pins from the clock's original control board and the patterns look very similar to the "multiplexed" example shown here. Each pin is outputting up to 4 logic levels. So I think I can safely assume it's a multiplexed LCD. Since I have 4 digits, does that mean there are 4 common/back plane pins? How would I generate 4 logic levels from an Arduino? Do I need to generate 4, or can I get by with two using the LCD driving method described here?

Edit: I'm pretty sure this is the output from one of the backplane pins, since it never changes, even after several hours. It looks like the pulse is 4ms wide, for a total "on" phase of 8ms, and the distance between repetitions is about 16ms. Based on the documentation for multiplexed LCD control signals, the pulses on the backplane pins can't overlap, meaning there's only enough room in the "off" phase for one other backplane signal. I think that implies there are only 2 backplane pins. Is this correct?

\$\endgroup\$
  • 1
    \$\begingroup\$ It would be easier to find out if the clock has a way to tune the clock to NPT via some other method, tuneable cap or varicap added or serial port from GPS. But to learn simple LCD interfaces that may be common to this custom LCD read google.com/… \$\endgroup\$ – Sunnyskyguy EE75 Sep 6 '18 at 0:31
  • \$\begingroup\$ or share the clock with an atomic sync'd clock adding PLL to get same f or buy the right clock ebay.com/itm/… \$\endgroup\$ – Sunnyskyguy EE75 Sep 6 '18 at 0:54
2
\$\begingroup\$

I count 11 flat conductor connections to the LCD. That is just enough for a 7 x 4 display (one of the 12 wires is likely surplus, unconnected or common with another).

The first digit only has to show three states 0, 1, 2 (and off) and this can be arranged with list 4 driven elements that have a couple of segments connected together. This leaves 3 spare elements that can be driven for the colon and the AM and PM annunciators.

As a raw multiplexed LCD display it will require multilevel drive and this can be done with most microcontrollers at the expense of extra pins and resistors. If the AC drive logic is not done in hardware then it has been proposed that blocking capacitors are used on the row or column drives so that there is no residual DC to cause display degeneration.

Testing with DC is usually safe but generating AC from a PC Earphone output is also usually enough to drive simple displays. Use a tone generator at a low frequency of 100 to 400 Hz and text the various pin combinations briefly.

Often having two wires of 30 to 100cm laid left and right on your desk are enough to test a LCD between them because of stray capacitive mains pick-up as the LCD has such a high impedance.

EDIT:
Your display is a 1:4 multiplex as there are not enough connections for a simpler 1:2 or 1:3 multiplex. Direct drive (1:1 or non-multiplexed) is the simplest but requires one pin for each individual segment (28+1 connections) because it has a single common backplane.

Here is some reading material.

\$\endgroup\$
  • \$\begingroup\$ How do I determine the pinout and which pins are the common backplanes? I am able to activate some segments by randomly connecting ground and a 3.3V signal (with a 4.7k resistor) to pins, but I can't see any pattern. \$\endgroup\$ – Cerin Sep 6 '18 at 14:11
  • \$\begingroup\$ My oscilloscope shows the clock outputs up to 4 logic levels, with negative voltages. Is this strictly necessary, or can I get by with just 3? I don't want to add an LCD driver chip, and the Arduino can output up to 3 positive logic levels, 0, Vcc/2, Vcc. \$\endgroup\$ – Cerin Sep 6 '18 at 14:21
  • \$\begingroup\$ @Cerin the other answer shows a typical segment arrangement. Yours will be different but something along those lines. On some displays if you hold the panel at an angle to reflect a diffuse light background you can sometimes see the transparent conductors and trace where they go on the edge. Otherwise it is a matter of trial and error. You will have to use a drive system that is very similar to the one that is currently used. The other answers and the links I include have 1:4 multiplex displays discussed. \$\endgroup\$ – KalleMP Sep 6 '18 at 18:47
0
\$\begingroup\$

Looking at it, it may be a basic multiplexed 7 segment led display. There is a few common pins, which you could map out with a battery and resistor, or coin cell cr2033 battery, or diode tester. Individually test each pin to another pin and build a schematic. Once you have the layout, you can control it like any other led, scanning through each digit as needed. There are plenty of example projects online for details on how to wire and control these numeric displays. Basic idea, PIN numbers and locations vary:

enter image description here

\$\endgroup\$
  • 1
    \$\begingroup\$ It should be easy to scope the pins and reverse engineer the signals \$\endgroup\$ – Sunnyskyguy EE75 Sep 6 '18 at 0:55
  • \$\begingroup\$ How would I map it out with a battery and resistor? Reading this, it warns against applying a DC voltage to an LCD, as that might damage it, and instead suggests using a 100 Hz signal. Is that a valid concern? \$\endgroup\$ – Cerin Sep 6 '18 at 2:06
  • 1
    \$\begingroup\$ @Cerin I don't think it's a TN LCD screen. But then again, it may be. I've seen some very thin LED segment displays. You could check the clock board to see if there is any driver IC. You could still check it with a battery + 4.7k resistor across two pins to see if it lights up. Momentary connection of DC would not be an issue. \$\endgroup\$ – Passerby Sep 6 '18 at 2:25
  • 1
    \$\begingroup\$ It's definitely LCD. It might not be clear from the image, but that grayish square is a transparent piece of glass. There are no LEDs in it. \$\endgroup\$ – Cerin Sep 6 '18 at 2:27
  • \$\begingroup\$ The same concept applies, just with an added AC component. You can check it with DC quickly, and your final design needs some tweaking. See electronics.stackexchange.com/questions/169783/… \$\endgroup\$ – Passerby Sep 6 '18 at 2:30
0
\$\begingroup\$

But if this seems like too much work, just do as I said before in comments and sync the XTAL to an external NPT based atomic clock at same freq.

But if it seems like fun, read more here for details

Type: Transmissive Negative
Backlight: 5mm Red 20 deg 10 Cd

11 Pin Description

Option 2

Example of a MUX'd Clock display ( like QAM analog)

enter image description here

1:4 MUX per pin
segment drivers

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.