Reverse Engineering an LCD Panel

A project log for LVDS Laptop Display Interfacing

A journey into re-purposing old laptop screens

Jared Sanson 02/04/2015 at 08:440 Comments

The next step in this project is attempting to interface a special sunlight-readable "transflective" LCD panel, out of an old Portege R500 laptop. I couldn't find a datasheet at first, so I embarked on a huge task to reverse engineer the pinout by probing the signals in a working laptop:

By carefully probing each pin on that (tiny!) connector, I was able to roughly work out the pinout. The LVDS pairs were fairly obvious as I could clearly see them routed on the PCB, so it was easy enough to trace them back to the connector. I was also able to figure out which LVDS pair was which (Clock and Data) by shorting a pair out to see what effect it had on the display:

The clock LVDS pair was the easiest to find, as the display simply freezes or goes black when it loses the clock. RX2 was the next easiest, as it contains the HSYNC/VSYNC control signals, so when that line is corrupted the screen loses sync. RX1 and RX0 can be determined by looking at what happens to the colours on the LCD: Shorting RX0 will either cause black to become red, or white to become cyan. Shorting RX1 will either cause black to become green with some corruption of blue gradients, or white to become purple. This all becomes obvious once you look at the layout of colour data within the LVDS signals.

And then I had one last try at finding a datasheet and finally found one using the serial number on an older model! It turns out I had correctly guessed the power lines and LVDS pairs, but I missed the EDID I2C signals and had the LVDS polarity inverted. Not bad for some fairly simple probing! Having EDID signals also means I can make the display plug'n'play with pretty much any system, so the system will automatically figure out the correct timings and resolution to use.

My next step is to create a breakout board for the connector, since my first attempt at soldering to the wires failed (the connector shorted out internally due to excessive flexing of the wires. Luckily I have spares!