When I retired my landline phone connection, I also retired my home phone. It was an AT&T CL84209 phone with built-in digital answering machine. I had a base station and though it supported multiple cordless handsets I had just a single handset. Without a landline, I took the entire system apart keeping a few parts for potential later use. Among the stuff I kept were two custom LCD units. One LCD was freed from the base station circuit board. I wanted to keep its backlight as well, but I accidentally destroyed it while trying to free it from the system. The other LCD was in the handset, and I kept it attached to its circuit board because I didn’t want to accidentally destroy another backlight.
They sat in my pile of salvaged parts for several years, until a few weeks ago when I took them out and started playing with them. I thought I could find some official documentation on these display units, but nothing came out of searches using every identifier I could find on these devices. Fortunately, thanks to the still-working handset circuit board and a logic analyzer, I figured out enough to control them from an ESP8266 Arduino program. This page is a summary of my findings.
Both LCDs have nine hardware interface connections. Base station LCD uses pins, handset LCD shown above uses an FPC. I’ve numbered them 1 through 9 counting left to right as we are looking at the display. Despite the different physical form factor, electrically speaking they respond identically.
|1||Enable||We can make it always enabled by tying it high: use a 1kΩ pull-up resistor connected to pin 5 (+3.3V)|
|2||SCL||I2C clock logic level measured +3.3V, don’t know if it is +5V tolerant.|
|3||SDA||I2C data logic level measured +3.3V, don’t know if it is +5V tolerant.|
|4||Ground||Relative to pin 5|
|5||Vcc||Supply +3.3V to this pin.|
0.82uF capacitor between this pin and pin 6 (Vboost)
|6||Vboost||Output pin of built-in boost converter. Measured at +5.4V.|
0.82uF capacitor between this pin and pin 5 (Vcc)
|7||VLCDH||LCD segment voltage (high) 8kHz square wave from Vcc to Vboost |
0.82uF capacitor between this pin and pin 8 (VLCDL)
|8||VLCDL||LCD segment voltage (low) 8kHz square wave from 0V to Vcc |
0.82uF capacitor between this pin and pin 7 (VLCDH)
|9||Voltage measured to match Vboost|
Appears not connected to anything else on handset circuit board.
Both LCDs are I2C devices with an address of 0x3E. There are two types of messages:
- Configuration set of 8 messages. Values were copied from logic analyzer capture and played back. Their exact meanings are unknown.
- Data set of 3 messages. First message includes 15 bytes of alphanumeric data for the first line, second message for the second line, and the third message has 16 bits of digital data toggling state of custom LCD segments. (Which are different between LCDs.)
See the following pages for details:
- I2C Control Data for CL84209 LCD
- CL84209 LCD Character Set
- CL84209 Base Station LCD Segment Map
- CL84209 Handset LCD Segment Map
Source code of software written to help with this investigation is publicly available on GitHub.