I would like to contribute... Got one of these really cheap 1.8" TFT of eBay. Just like on the picture below. Great value for the price. Got it up and running in no time. Very nice. Right. Just one little problem... flickering streaks. I did search InterWeb and can't find right answer. So I did my own research and found root cause of what often described as flicker, to me it is more like flickering lines when loading data into display. Actualy, if you have more than one device on SPI - any SPI activity will cause that.
First of all the specs. There is not much available, but the fact is that right out of the box it must be powered by 5V but interface must be 3.3V. Keep that in mind for your next project.
Interface is definitely SPI, not I2C as some suggested because of signal names on the board. SDA is actually MOSI. If you planning to use it together with card reader you can connect both MOSIs and SCKs together right away. Obviously CSs must be on different Arduino's pins, any free DO will suffice, just don't forget to declare it accordingly in the header of your sketch.
- What I did, is to insert resistive dividers into each signal from Atmel to TFT. It consists of one in series of 180 Ohm and one 330 Ohm parallel to the inputs to ground, for each input. (you don't need to do anything to MISO, haha like soup)
- Some more expensive versions of this display do have onboard level shifters, 5 to 3.3. You may prefer to add one like this.
- Convert your Atmel board and display to 3.3V. Many ways to do that for Arduino. On display board you have to put solder blob across JP1.
I did test solution 1 and 3. Crystal clear update. Great!
I'm surprised to not find actual answer before researching it myself. Anyway. Most Arduino's running at 5V. Present display powered internally, including IOs, at 3.3v. Atmel's IOs drive current is pretty high. Display's inputs have clamps to VCC. Most signals idle high. When signals are 5V - current from signals through clamp diodes back feeding VCC and actually raising voltage on 3.3V regulator on display board to ~3.9V. During intense communications this voltage drops a bit and display's analog circuitry thrown a out of wack causing streaks on display.