This daughterboard lets [Matt Evans] drive a laptop LCD using a Beagleboard. Apparently the Beagleboard gained a VGA header when it moved to revision C but [Matt’s] working with revision B4 which is why he had to do all of that ninja soldering with the blue wires. The driver board itself is a thing of beauty, hosting a DS90C363 LVDS serialiser as well as some buffer chips that handle level conversion for it. He’s also included an ATmega48 so that he has some options for future improvements.
The LCD is mounted in a custom acrylic case, with Beagleboard and driver board taped to the back of it. There’s RS232 and a USB hub which opens up the possibility of using a WiFi dongle for communications. So far he doesn’t have much functionality other than displaying images on the screen but there is some talk about using a touchpad for control. We’d love to see a touchscreen overlay, transforming the build into a proper ARM-based tablet.
I have a rev C4 which has a header explicitly for this… But very cool!
Nitpick: this has nothing to do with the presence or absence of VGA output. Laptop panels need a digital signal; VGA is analog.
Agreed David.
I have a few panels, and would like to find a cost effective way to drive them. But VGA-LVDS adapter etc are pretty expensive.
I was wondering if this was doable. I’ve got gobs of LVDS displays that I couldn’t use. Now I can greenlight that pipboy project, ha!
@Fallen : i found this “njytouch” firm, they sell VGA->LVDS converters : http://shop.ebay.com/njytouch/m.html
I am thinking about buying one but I’d like to know if it can be DIY (FPGA ? …)
This is just a shameless plug to say Matt is a member of the budding hackerspace Make Hack Void in Australia.
Also – have a close look at the number and pitch of hookup wires required to be handsoldered to pull off this hack. Legendary.
Cheers xmd :D
Regarding VGA: like lots of embedded boards, the OMAP3 on the Beagleboard gives a 24bit digital video output, not analog VGA; but this is better really, as it can drive an LVDS serialiser directly rather than messing around with ADC then LVDS.
@Erik: Lucky you :) I just had a B4 without unfortunately. This hack would be much easier on your C4 (just solder to the provided header).
@fallen/blakmatr: Have you thought about using DVI? I think something like DVI->TMDS deserialiser->24bpp parallel->LVDS serialiser->TFT panel may work. (You’d set video modes manually, though some TFT panels even have EDID chips.) Course if you have the parallel pixel data/clock/syncs it’s easier still. (Can post schematics if you want.)
Sweet hack. I’d never have the patience to see this thru.
@Chris: If you’re using a recent-ish FPGA (anything with SERDES’s), you can drive the LVDS directly without too much effort – no need for a separate serialiser. Any decent panel datasheet will have a detailed description of the protocol used and waveforms, etc. It’s not that complicated. I’ve done it with 1280×1024 and 1024×768 panels, both had LVDS interfaces.
Regarding lvds connectors, how would one salvage a laptop lcd panel?
@_matt, that’s a tough one; connectors/cables are often really hard to source/expensive/proprietary. If it’s a one-off, I strongly suggest reusing the laptop LCD cable if possible, including the PCB connector. It’s possible to cut the connector off and solder the centre of the *tiny* coax lines but it’s a bit of a nightmare doing that. Desolder/scalpel off the PCB connector. :)
Luckily, the connector on the mobo has the pins all on one side. Now, for a person without a beagleboard, what’s the cheapest way to run the panel?
MattE I just spend 2 hours reading your website. Every project is a pure gold, dude you ROCK! :)
I especially liked your openwrt Jtag hack, it would be perfect if there was a way to make it talk to openocd.
I hate LVDS. I have two LVDS panels. No way to hook them up without tons of circuitry.
hint: most of lcd panels have deserializers as the first chips after the connector, just bypass it and you have paraller interface
Oh man, a buddy at work is re purposing an old laptop display.
I have to show him this!