Re-purposing An Old Laptop Display

InitsEnvironment[Tim] found himself with a laptop that had a good 18.4″ screen, but otherwise didn’t run properly. It would be a shame to throw that away, so he decided to salvage the screen by turning it into a standalone monitor. This isn’t exactly new, as he did what many people have done and looked to eBay for an after-market LCD controller board. The real beauty is in the enclosure he built. [Tim] had some scrap wood available from a previous project, so he set about designing a new frame for the monitor, and a very nice adjustable stand, as can be seen in the photo above.

One nice detail is in the control panel buttons. The LCD controller comes with a separate board housing the controls, and while he made a mistake mounting it initially, he ended up with a nice set of oak buttons that match the frame perfectly. He then built a nice backing out of styrene that holds the screen in place as well as housing the electronics.

Overall, it’s a nice looking project, and it is always nice to see electronics re-purposed rather than ending up in a landfill. We can’t help but think this would be a great frame for building a picture frame or a wall-mounted PC as well.

12 thoughts on “Re-purposing An Old Laptop Display

  1. IS there any way to repurpose an old controller? IDK… like… reconfiguring the EDID data in the actual LCD. I ask becouse I live in a region of the world where shipping would be actually twice the cost of the controller but, have managed to get a few controllers with VGA input. If anyone has any info on this, I would greatly appreciate it.

    Now… For the longest time I have suspected that the panel information is just a snippet in the firmware code within the microcontroler in the controllers or could even be a very small eeprom. That is to say you do not need to replace the WHOLE firmware to make it work. Thanks in advance.

    BTW… loved the wooden case. Im making one for myself, but with the guts of a very trusty Thinkpad T30. :D

    1. The LCD controller is typically not a run-of-the-mill microcontroller but a dedicated ASIC with some offboard configuration memory. In many cases, the information in this offboard memory contains the specifics of the panel, and rewriting this changes the output resolution, timing, etc. A significant number of the generic controllers out there use single-chip display driver solutions from Realtek, so for instance here’s a Realtek datasheet mentioning the use of this offboard memory:

      The unfortunate followup to this, though, is that to figure out exactly what to write to that memory, you need to have a connection at Realtek – that information is left out of the datasheet brief above. And I’m sure “I want to hack my old LCD controller” isn’t a business case they’ll want to spend time assisting with. Note that this isn’t unique to Realtek – most of the LCD controller ASIC players are similarly tight-lipped.

      1. Hm, seems like the sort of thing that could use a small group of users to compare each other’s data. The sort of people who’d do this, I imagine, would have stuff like Bus Pirates and ‘scopes anyway.

        Plan B, would be to implement it open-source on an FPGA. Isn’t there a standard for LCD panels, even if it’s a wierd one?

        1. Assuming the panel uses LVDS, there are plenty of quite well-documented x-to-LVDS converters out there. These don’t typically include scalers, OSD or other features, but they will get the job done. Here’s a whitepaper from TI on converting HDMI to LVDS:

          If you do need control over color or contrast, or if you need to scale the panel to lower resolutions than its native, such a simple solution isn’t going to work and FPGA is a quite workable (if somewhat expensive) solution.

      2. Hey! Thanks for that Datasheet. What keeps my squirrel going on circles, is that I have seen, for example, for a whole line of monitors, the same controller driving different panels. Right now Im experimenting with a “TSUM16XXXX” controller and so far I have found 3 sets of serial EEPROMS. The largest houses the firmware for the monitor, one is for the VGA EDID and im guessing the last one will have the panels EDID info in it, for there are some panels (30 pin connector, two lane LVDS) that DO exchange the EDID information.

        Now, experimenting with a couple laptop panels Ive found that my controller DOES drive one of the panels, the problem is with the color format. The controller sends 24b color, whereas my panel is expecting 18b. Even the timings are working, as I can see a discolored image. After checking the datasheet (Thanks!), I think that the info they left out is special functions like the scaler, how to access special registers and such, and even how to make the firmware (an SDK perhaps?)

        Ill end up building a ponyprog and dumping both of the eeproms (not the firmware one, just the 24c04 ones to see if maybe… I can get lucky.

        Btw… sorry about any mistakes in my redaction. English is not my natural languaje. (Se habla español) XD Thanks.

        1. Typical VESA bit packing for LVDS carries 18 data bits spread across three data channels, and the last 3×2 least significant bits on a fourth channel. I have used 6-bit panels on 8-bit controllers before by just not connecting the last channel. Although with a scaler and color processor in front of the panel, who knows.

    2. As far as I can tell, the LCD interface is a standard in the same way that RS232 is a standard – i.e. Not at all – most panels seem to use either 6bit or 8bit LVDS in either single channel or dual channel modes – there are about half a dozen standard connector pinouts. It gets chewy when you cone to set up the video format – the scan rates and timings all vary.

      Intially the project looked as though it was going to be dead in the water because there did not seem to be a board that supported the panel – the one I used was the only one explicitly listing the display and that was after a lot of hunting. However, I did find programming kits – issue for me was the cost – significantly more than the board. They seem to use the I2C interface on the VGA socket to furtle with the settings in the controller – maybe a project to reverse engineer the process.

      The other problem is finding data on individual LCD panels – the manufacturers don’t seem to give it out. I got a datasheet on mine, but it had no mechanical info and came from a very grey source.

  2. I’m currently using a 17″ laptop monitor with a controller board from the same company, but my screen is just on my desk leaning against the wall behind it. This looks must nicer.

    1. Submit it. Maybe the data you have on your article could help someone else struggling with a problem in their own project. Or even post it to your own blog and link to it from here.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.