I'm more of an end-results kind of guy, even knowing the dangers of that characterizing me as a charlatan - but hey, I is what I is. The deal is, I don't care at what level I'm hacking, as long as it does what I want, and is a) cheap, and b) easy. I'm more goal-oriented than process-interested, if you follow me. If I learn something about the process on the way to my goal (which I invariably do), than that's groovy, too.
So I think the goal with the TFT LCD is to just do what we've being doing with 7-segs, LED matrixes, and LCD text displays, only bigger, better, and (relatively) cheaper. The goal is to be able to display characters or graphics, even just simple ones, using little more than a cheap mcu and the hacked display. Part of the learning process (or learning about the process, if you will), will be figuring out what we can get for the least amount of cash and effort.
We could expand our experiments to include interfacing with composite video or VGA monitors. I noticed (through searching this forum for "composite video") that there was someone else who was recently interested in this, too. The idea is striking a compromise between what's cheap and what's easy. If it's easy, but it's too expensive, than it's no good. If it's cheap, but the amount of work is so involved that I'm essentially building things from scratch, it's no good. So I'm thinking experiments with old CRT VGA monitors (cheap as free), or if composite video or some other interface works better, we might consider some of the automotive video devices that are available for <$100 now (many include several interface options on one device).
I really like the VGA option. No matter where you are right now, you're probably within 50' of a VGA CRT monitor nobody wants anymore. Fodder for experiments, I say, but instead of tearing the thing apart, why not find out what happens when we start fiddling with the connect pins? Plug it into the wall, you don't have to fiddle with the AC power, just tinker with the connector pins.
I like the VGA CRT digression, because the follow-up could be using a small (like 15") LCD monitor that has a VGA connector. I appreciate that from an engineering stand-point, it's all topsy-turvy, because you'd be using a digital mcu (like a PIC) to interface a digital monitor (the LCD monitor) via an analog connection (or is the VGA connector pseudo-analog... it could be considered digital if you just wanted to have black and white or a handful of colour options). The way things are going market-wise with monitors, it's not going to be long before 15" LCD monitors are cheap-as-free. Re-use, Recycle... Hack!
The other thing I like about the DIY VGA signal digression (the first being that it's as cheap as nothing) is that I know it can be done (that is, that it must be relatively easy). There are some Youtube videos of guys doing weird things to the horizontal and vertical control of their old monitors, but this one is the only one along the lines of what I'm looking for (at least what I could find):
YouTube - Lesson 7: Experiments 2, 3 & 4.
By the way, the correspondence course this guy's working through looks wicked-awesome, so I recommend checking out the link to the lesson source (it's in the description to either his first or last lesson video, I can't remember. They're all worth watching, so you won't mind looking for it!). For less than $400 bucks you get all the gear and instruction material you need to do what he's doing (minus the monitor, I think, but that's no biggy). He's using the SX28 chip to make that Break-Out style game, and you gotta admit, it looks pretty cool considering the small amount of parts he's using to make it happen.
Apparently the SX28 is like a PIC on steroids, but other than the fact that it's faster (like about 100MHz), it doesn't seem to have anything more in the way of features beyond what's in the PICs most of us are using here. I'm convinced you can do it with a PIC - it might be monochrome, it might not be high-res, but you can do something, I'm sure of it. I see there are some RF signal PICs, but I'm not going there for this right now. I'm talking cheap, common, easy PICs.
Just because the VGA protocol (that is, coming out of VGA driver card) is 640x480 and a ton of colours, doesn't mean that we can't come up with our own PIC driver to connect to the VGA monitor. So we'll simplify: drop the colours, drop the resolution, maybe even drop the vertical frequency. Still, doesn't it seem like we ought to be able to drive the monitor with at least the resolution and frequency that some folks have worked out for various, smaller LCD graphical displays?
This is what I've learned so far after an evening of surfing and reading. The VGA connector (
VGA pinout and signals @ pinouts.ru) has three pins for red, green, and blue respectively (RGB), and a common pin for each of those. Sending 0V to any RGB pin will result in nothing happening (so a black screen if all RGB pins are constantly 0V), and sending 0.7V to any RGB pin will result in maximum luminescence (is that the right word for it?). If you constantly send 0.7V to all RGB pins at the same time, the result will be a white screen. We could just use voltage divider resistors to get the TTL outputs from a PIC down to 0.7V, and if someone wanted to get really fancy (and crossing your fingers that the PIC would be fast enough) make a R2R ladder to fine tune each RGB for a greater variety of colour mixes.
There are three more pins I think you need, and that's it. They are: the horizontal sync, the vertical sync, and the sync ground, and unlike the RGB pins, they're all TTL level voltages (so could be connected directly to a PIC's TTL output, I think). What exactly you have to do with the horizontal and vertical sync, I'm not entirely sure.
This is where the rubber hits the road with the hack: to what extent do we have to conform to the VGA protocol in order to get reasonable images on the screen? Maybe someone else can pick up the torch on this, and chime in with their two cents on timing the signals.
For that matter, if anyone wants to chime in with questions, comments, or even just to call me out on what I've said here, please do - it's all part of the fun!