Putting Laptop LCDs To Use With An FPGA

We’re always impressed with the number of laptop displays we’re able to pick out of the trash. Most of the time the computer is borked beyond repair so we end up with a lot of functional but unusable LCD panels. As a service to us all, [EiNSTeiN_] figured out how to control an LCD panel using a cheap homebrew FPGA board.

LCD panels don’t use a simple protocol like VGA for turning pixels on and off. Instead, the very high-speed LVDS is used. LVDS is beyond the capabilities of simple microprocessors, so [EiNSTeiN_] built himself a clone of an XuLA FPGA prototyping board and set to work. After figuring out the signal lines to the panel, [EiNSTeiN_] pored over the timing diagrams for the LVDS controller and the LCD panel. From the data sheets, he figured out data is usually sent to the panel at about 500 MHz. The homebrew FPGA board couldn’t manage that speed so [EiNSTeiN_] cut the FPGA clock in half.

While LCD’s 60 fps refresh rate was reduced to 30 fps, [EiNSTeiN_] says there’s only a little flicker. Not bad for something that could have easily been trashed.

29 thoughts on “Putting Laptop LCDs To Use With An FPGA

  1. You can run those LCDs at full speed without any problems, you just need to either
    – bypass LVDS receiver chip on the panel, its the first IC after the connector.
    – use LVDS driver (can be salvaged from old GFX card/laptop for free)

    That way you bypass limited LVDS speed of the FPGA.

      1. LVDS is not a protocol, its just a hardware bus.
        unscrew PCB from a panel that you want to control and look at the first IC after the connector.

        The only difference between old 21 pin flat cable paraller LCDs and new 6 pin cable LVDS ones is the addition of 2 chips in between.

        You drive LVDS panel same way (same timings) as you would drive paraller panel. 21 signals total (6bit RGB H V and clock)

    1. Using the LVDS bus has the advantage of reducing noise and requiring only 8 wires instead of 21. Also, in the case of this panel the ICs are on the wrong side of the PCB so they are not directly accessible, I would be afraid to damage the flex cables running on the edge of the PCB. Those are usually marked “DO NOT TOUCH” in bold red letters, and I heard they are really easy to damage ;)

  2. This is not (intentionally) SPAM. Just pointing out a way to save a whole lot of time (and cost) to drive LCD panels. I found the following on EBay… ;-)

    New LCD controllers $33 Ebay Buy-It-Now Free Shipping:

    Available options:
    Up to 1440*900
    Up to 1920×1200
    VGA, DVI

    USB programmer for above controller boards:

    1. You tell them the panel resolution and they will program it for you, or you can buy the programmer youtself (2nd link above). Kit includes LCD controller board, LVDS and other cables, LCD keypad, backlight inverter (1-lamp, 2-lamp,or 4-lamp depending on specified preprogrammed LCD panel).

      Nice deal for under $33 shipped. Expedited shipping available (from China). Power cube, VGA and DVI cables available (cheap).

    2. Very nice. I’d been looking for a low-cost source for something like this for quite some time, but hadn’t run across any that were less than several hundred dollars.

      Now, I can finally accomplish my goal of having small, high-DPI desktop displays (1920×1200 in 15.4″ form-factor) for cheap.

      1. Combine it with a frame buffer made using DRAM and you have a very nice display for those microcontroller projects that doesn’t cost an arm and a leg (or tons of CPU cycles). The DRAM will not need refresh and as an added bonus you get a lot more than the 512KB-2MB of the recent projects. Has anyone designed a shield for this? Preferably using a SODIMM?

  3. “…LVDS is beyond the capabilities of simple microprocessors…”

    What an ignorant, uneducated statement. Differential signaling is well within the capabilities of any micro. TakeSingle input, single output. Have you ever heard of RS422? RS485? These differential signaling methods have been around forever.

  4. On a sidenote, the information being sent is only on the rising edge of the clock.
    So the information could probably be sent on the falling edge as well, in order to send more commands to the screen.
    That’s a future solution I’ve already suggested to him.

  5. Nice hack.

    Has anyone had any luck with the older variety of panels i.e. the ones on ancient Toshiba laptops?

    Someone should do a hack where the numerous otherwise useless LCD monitors can be hacked in this way, as I have a bunch of them here with non working main boards

    1. Define “ancient.”

      My daily-use Dell laptop is 7 years old, and uses LVDS. I think this would qualify as ancient in most folks’ opinion, and this hack will potentially drive it just fine…

  6. Oh yeah, duh. There’s LVDS drivers with builtin frame buffers or DRAM interfaces. I was just hoping that there was some kind of way of recycling those old SDRAMs I have and 256MB sounds like a great addon to any kind of analysis tools. Imagine a bus spy using that for automobiles or an oscilloscope, for example.

    1. We could desolder some chipsets from dead laptop boards? And somehow get Intel to tell us how to program them using anything not made by Intel? LOL, that’s a little bit beyond my skills at the moment. A ‘little’ meaning years.

  7. FYI, there are hundreds of projects like this on the ‘net, using FPGA’s, PIC’s, 8051 clones, you name it.

    This is nothing new, but I see a lot of surprised people here… Do you guys go anywhere other than this site? There are a lot of interwebs out there. I suggest you make good use of them.

  8. Nice hack. I’ve got several old laptops and I have been wanting to use them for some time.

    And unless that information just popped up NATO, it hasn’t been out there for some time. At least not in any format *I* have seen ad I’ve been looking for a while.

    Yes, I know a few bit have recently popped up, but it’s NOT like the internet is filled with these sites.

    I’ve been wanting to get into some FPGA too, so this looks like a good starter point. Haven’t seen how “cheap” that board is though.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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