Electronic – TFT LCD interface with a Microcontroller: Getting Started

lcdmicrocontrollertft

I have a small 3.5 in TFT LCD display from a Chinese manufacturer. It doesn't have an integrated LCD controller. The documentation claims it is a "16 bit RGB/parallel interface" and it uses a Renesas R61581B0 driver chip.

These types of displays are very common and cheap. They sell for less than $15 a pop on Alibaba.com, but I don't really have a high esteem for these manufacturers since they do not provide any good / consistent documentation, and their English is riddled with mistakes! But I did get the display, and the product looks and feels like it will do the job!

My question now is, how do I get started ? I have looked on the internet and cannot find a good starting point. I have a 32MHz microcontroller in mind, but I am stumped on how to interface it with the LCD.

Most display projects online that I've seen assume that the LCD module comes with an integrated controller , so the MCU's job becomes pretty simple.. Provide image updates when necessary, and the controller will do the job of refreshing the LCD module at the required 60hz (or so)

This LCD module that I have has raw data lanes that I need to drive myself at 60hz. Are there any good documents on how to interface an MCU directly with such an LCD module?

I'll be happy with any info that points me in the right direction, whether it be an answer on stackexchange or a reference to any good documentation online.

Best Answer

The Renesas R61581 is an intelligent display controller that handles all of the high bandwidth tasks needed to refresh the display. The control interface allows a microcontroller to send commands and data to load the in-built video RAM. It is an ideal choice to drive with a medium scale microcontroller.

The datasheet can be downloaded here.

Much of the datasheet refers to connecting the controller to the LCD glass, which you won't need to worry about. The controller has a multitude of host (microcontroller) interface options, but the simplest and easiest way to start is probably by configuring it for 8-bit parallel data access (so long as the display gives you access to the IM pins to set this up, otherwise use what's provided by the display interface). The datasheet includes a comprehensive command reference.

When you can initialise the controller and write a few pixels, then you're up and running and can develop your graphics code incrementally.

Have fun!