You can find all kinds of LCD screens in broken electronics. But it’s often a chore to figure out how they are controlled if you don’t have a working device that can be used to sniff the communications protocol. [Justin] grabbed this character LCD screen from an old Brother printer and decided to see if he could reuse it in his own projects. Luckily the driver card still worked so he patched into the LCD’s control lines and sniffed the signals when the printer is powered on.
He used the OpenBench Logic Sniffer for this project. It easily captured the data, and also provided analysis tools. The SPI analyzer managed to decode the command signals and message of “Please wait” that pops up at power up. After a bit of folly with the pin out of the display, he is now able to control it thanks to an Arduino library which he wrote. Check out the demo after the break to seem him scrolling through a bunch of different functions for the device.
17 thoughts on “Salvaged LCD Screen Hacking”
This is why it’s so important to learn how to use triggering on your chosen analyser, it would have made your task about ten thousand times less painful. Nice job figuring out how to drive the LCD, though!
(Apologies if this posts twice, WP weirded out on me)
Thanks dude. I definitely should have looked more into the triggering. More often that not I end up taking the simple but tedious path rather than the smarter and quicker path. Now that I know what the logic looks like I’ll probably look more into using triggering on my analyzer since that should narrow down any troubleshooting I might need to do.
Video above is just a link, not embedded
I have at least 20 old mobile phones I’ve been collecting for the screens, thinking there must be something cool I could do with a bunch of small screens or other mobile phone parts.
Nice, yeah, pick up a logic analyzer and start figuring out the communication logic. I’ve provided a lot of details about this process on my website but if you’ve got any specific questions then drop me a comment over there. I assume those screens will probably be a little more complicated that the ones that I’ve been working with.
Yeah, most of them are color LCDs. But the question is, what should I do with them? I need an awesome idea.
well in that case I think we’re in the same boat. I’m still trying to figure out what to do with the ones that I’ve got :)
Great, well done!
The controller or my screen is dead. So bit harder to figure it out :(
(About 2 inch colour screen with 40 ‘pins’.)
Awesome! I’ve got a couple of these LCDs laying around and haven’t had the patience to figure out reverse engineering them. So glad they’ve been figured out
This is great stuff. I have a number of these from salvaged printers for a rainy day, however they are all removed from the printers, due to space restrictions, so can no long “sniff” them :(
Any chance of getting a sketch of the pin numbers and their connection.
I’ve updated my blog post with a picture of the ribbon cable connector and pin descriptions. There is also now a link to my arduino library and demo code. Hope that helps.
Thank you for this. I will dig out my salvaged lcd box this weekend and have a play.
A Saleae Logic would’ve saved you HOURS of time. It can support more data on a single capture than you can imagine (it streams the data realtime to your computer’s memory.)
It also has triggers (which you should figure out how to use ASAP as mentioned above).
Yes, the Saleae Logic (8) is 3x the price and a quarter of the channels but you could’ve accomplished the entire capture and analysis on the first power on.
Yeah I was looking at getting a Saleae for a while, but I wanted to learn the ropes of using a logic analyzer before investing in a bigger, more expensive one. I’ll probably end up going that direction eventually, but for now I think I’m going to learn the triggering on the one I have. Thanks for the suggestion.
Anybody want to ” sniff” a working phone or two for me?
This very cool, I’ve been wondering how I could salvage old my htc G1’s. But my electronics skills are rudimentary.
My idea for a carpc; break the center console display into a couple of small monitors (from phones) positioned not far off from your direct line of sight(down the road). No straining your neck and taking your eyes way off the road. When positioned right, a small screen is every-bit as legible as a 7″ screen further away on the center console.
They could at the same time take over the for the wiper, headlight, etc stalk controls.
Anyway, if anybody wants to help by sorting out the input…I probably have an extra phone or at least an LCD you can have. Publish the pin-out to, I’m sure there’s plenty more like me.
I’d like to see old screens turned into scale model TVs, movie/drive-in screens, highway alert signs, animated billboards, etc. Cameras could be used to provide a scale-eye view for things like model train dioramas. Things I’d love to see but don’t have the time to engineer myself!
Yeah, so this thread is ancient, but why is it I keep hearing that the only suitable displays for any Arduino application is a Nokia blah blah blah?
CLEARLY you guys know better, so why am I even bothering with the old folks home and their pack of disillusionments? I’m not sure, but you’ve given me a reason to drag out the last 20 years of cell parts (pared down over the years to ribbon connectors, speakers, cameras and, of course, displays!)
I’m not smart enough to assemble the info you have to suss out the usability (I have kids and grandkids to whom I can pawn off the fun once they’ve been put to use), but I would bet cold cash that there’s someone willing to track it down if I can’t. Old skool DOS witch I may be, but man, it’s hard to learn a new programming language when you just *know* that there’s a point-n-click out there already, lol!
I am SO glad I found this place – I would have been gray long before my time if I hadn’t! So – who can point me to the first NON-basic Arduino lesson?
“Have wire-strippers, will travel!”
Please be kind and respectful to help make the comments section excellent. (Comment Policy)