tft display controller free sample
![]()
The first device in the series, the FT800, launched in 2013 and took the titles of British Engineering Excellence ‘Electronic Product of the Year’ and Elektra ‘Digital Semiconductor of the year’, within the same year, where the product was described as providing ‘versatility and innovation’ and ‘the technological capabilities with efficiencies that differentiate it from its competitors’. With its revolutionary EVE technology deploying an object-oriented approach, the series is capable of simplifying the implementation of intelligent displays – reducing bill of material costs, power budget, board space, and development time.

As an option, you can order this TFT pre-assembled onto a breakout/carrier board. The board allows easy prototyping through its 0.1" headers. You can also include the carrier board in your end product to simplify construction and assembly.
This development kit includes everything needed to get started with the 3.5" EVE module: a 320x240 display mounted on an EVE2 graphically accelerated PCBA, a Seeeduino, an EVE breakout board, jumper wires, USB cable and a ribbon cable. We even assemble this kit and pre-load some demonstration software so that you can have a functioning module in your hands within seconds.
Because the display module includes an EVE (embedded video engine) chip, it"s a perfect choice for an HMI. EVE is a graphics controller solution that can control both display and audio operations. Additionally, Bridgetek/FTDI supports the EVE chip with graphical design toolchains to aid in development.
This kit consists of a CFAF320240F-035T a 320x240 3.5" Full Color TFT LCD module mounted on a carrier board (CFA-10074). The carrier board supports a current driver for the LED backlight of the display.
This TFT LCD display module is perfect for the designer who"s looking to have a graphic and audio processor already embedded in the display unit. Powered by an FTDI/BridgeTek FT810 Embedded Video Engine (EVE) graphics accelerator chip, simply send over a few commands via SPI or I2C and the EVE will put your stored image up on the display. Need to draw a line, create dials/knobs/buttons, or rotate an image? Send a handful of bytes and the EVE will take care of it.

Display technology has moved forward at light speed. For years, even sophisticated equipment made do with numeric and alphanumeric display technology, buttons, and LEDs.
With mass production, manufacturing refinements, and competition, thin film transistor (TFT) displays have drastically dropped in price while dramatically improving in performance. They are the de facto standard to the point where it is not only expected, it is demanded that any modern user interface be full color, brightly backlit, touch sensitive, and have high video speeds and a good viewing angle.
While simple low-cost 8-bit microcontrollers could easily handle the multiplexed 7- and 14-segment LED and alphanumeric LCD displays, the memory, processor speeds, and peripheral resources needed to drive a TFT are more than most modest microcontrollers can handle. As a result, dedicated controller chips, embedded modules, or faster, denser, and more streamlined processor architectures are needed.
This article looks at the factors that make a good MCU-to-TFT interface. This includes memory depths and architectures, paging, data transfer, signaling levels, interfaces, and on-chip peripherals to look for when selecting a microcontroller for a TFT application. It examines the TFT technology and present day product offerings, which your designs will need to drive. It also looks at some microcontrollers that provide native support for color TFT displays, looking at their techniques, features, trade-offs, and limitations. All displays, microcontrollers, drivers, inverters, and development tools mentioned in this article are available from Digi-Key Corporation.
TFT displays are a type of liquid crystal display in which the transistor controlling the pixel’s crystal is etched into a layer of amorphous silicon deposited on the glass (see Figure 1). As in an IC process, very small transistors are geometrically formed. The small size of the transistor means it will not significantly attenuate the light passing through.
The advantage of TFTs is that they are fast enough for video, provide a large and smooth color palette, and are pixel addressable through an electronic two-dimensional control matrix (see Figure 2). Most low-cost displays use an amorphous silicon crystal layer deposited onto the glass through a plasma-enhanced chemical vapor deposition.
Figure 2: Electronically, a stable VCOM reference is used throughout the display, and the gamma corrected drive voltage passes through each transistor.
Many versions of TFT technologies have led us to the modern displays. Early complaints like poor viewing angles, poor contrast, and poor backlighting have been addressed. Better light sources, diffusers, and polarizers make many displays very vivid, some even claiming to be daylight readable. Modern day techniques like in-plane switching improve viewing angles by making the crystals move in a parallel direction to the display plane instead of vertically. Better speeds and contrasts of modern display make them high performance for a fairly low cost.
Since TFTs are not emissive devices, they require backlighting. The most commonly deployed backlight technology is cold cathode florescent lighting (CCFL). These devices were designed, chosen, and used because they are very efficient and have very long lives. Typically, a CCFL bulb is rated as having in the ball park of a 50,000 hour ‘half-life. ’ This means that after 50,000 hours, it still works, but with half the intensity when it was new.
Modern displays, especially the smaller ones, have transitioned to white LED-based backlights. These are easier to manufacture, do not require the high voltage inverter which CCFL bulbs need, and are approaching a lower cost point compared to CCFL technology. Both CCFL and LED technologies will use diffuser layers inside the stackup to evenly distribute light. LED-based backlights may actually be side lights and use a lightpipe structure to distribute the light.
Transflective technology is steadily improving and is available in some TFT displays. This is where both a backlight and ambient external light are used to make the display visible. Sunlight may make it viewable, but generally speaking the transflective displays are less transmissive. This means that the backlight will have to be brighter (and require more power) to be on par with a purely transmissive display that requires a backlight all the time.
With TFT and most color display technologies, an individual pixel contains a red, a green, and a blue picture element (pel). The relative intensity of each color will determine the resulting blended color.
Some displays will use dithering and alternating pixel colors to achieve a better blend of intermediate colors. Higher frame rates are also used since the persistence effect of phosphor-based displays does not carry over to LCDs. Determine the quality and smoothness of the display you will use. Not every frame rate control technique yields flicker- and jitter-free performance, especially at some resolutions. If you notice it, so will your customers and end users of your design.
The memory required to map the display image is key. While some micros will contain enough memory to hold a single page of display data (and not much else), you can see that a lot of memory is required for even a modest ¼ VGA display. This is more than what a typical microcontroller can house (see Table 1). As a result, an external bus interface to external RAM (SRAM, DRAM, or SDRAM) will be needed, especially if paging will be used.
Table 1: The memory required to map to a display is proportional to three times the square of the resolution because of the three color elements of each pixel.
Paging will allow better display quality since one page can be displayed while the next is being built in the background, then made live. This eliminates ghosting and image flicker when graphics are changing rapidly in effects like scrolling, moving sprites (graphical objects), color shade blending (for overlapping graphics as they move), etc.
A key feature when selecting a microcontroller for TFT interfacing is the DMA support. Multi-channel, flexible DMA will make a world of difference, especially when it comes to moving data between pages, character generator and rendering tables, animations and video. Along these lines, a preprogrammed and autonomous DMA functionality will allow you to refresh a display while the core microcontroller goes to sleep. This is a key power-reducing feature that can make a world of difference when operating from batteries.
One effective solution is to use the National Semiconductor LMH6640MF/NOPB which is a rail-to-rail (up to 16 volts), voltage feedback, high output (up to 100 ma) amplifier optimized for TFT transistor driving. The fast 170 V/µS slew rate yields a 28 MHz full power bandwidth (at five volts) and its small SOT-23 package can be fit into tight spaces (see Figure 3).
Also , the VCOM function and all its subtleties are often times integrated into more encompassing TFT driver chips like Texas Instruments’ LM8207MT/NOPB which combines an 18 channel gamma corrected driver with VCOM referencing buffer (see Figure 4). Note that the built-in VCOM buffer will allow a buffer tree to be created from a single reference for larger displays.
One approach to driving a TFT display without the need for a higher end processor is to use a discrete TFT controller chip that can be interfaced to a processor of lesser horsepower. An example is the Intersil TW8811-LD2-GR TFT controller chip (see Figure 5).
Aimed at a specific market segment, in this case automotive applications, the TW8811 combines control and even video standard (analog, RGB, S-Video, NTSC, PAL, and Secam) integration into a single chip controller. It supports and ties together different video sources to allow the same display to be used for navigation systems, engine displays, environmental control, in-car entertainment systems, backup cameras, etc.
The on-chip SDRAM interface provides the depth and cost-effective performance needed for displays up to WXGA resolutions, and the –40 to +85 degree temperature range makes this usable for a variety of harsh environment applications.
If a single microcontroller can control the task at hand as well as the embedded display, this is usually the most cost-effective solution. Most people will use a TFT module which already houses the VCOM, gamma correction, and TFT transistor drivers. As a result, the interface to the module is TTL, CMOS, or Low Voltage Differential Signaling (LVDS).
Thankfully, to help make TFT design tasks doable in a reasonable amount of time, the chip makers provide solutions targeted at display designs. Typically, these are higher-end, 32-bit, RISC-type processor architectures with streamlined peripherals and resources that handle both display-oriented and non-display-oriented functions such as communications, sensor interfacing, etc.
For example, the NXP Semiconductor LPC2478FBD208,551 is an ARM7™-based 72 MHz high- end microcontroller with LCD control up to 1024 x 768, 24-bit pixel resolutions. In addition to the very flexible DMA functionality, it incorporates USB, four UARTS, I²S, RTC, SD/MMC memory card, Ethernet, I²C, CAN, and more. It is a “Swiss Army Knife” processor that targets integrated, single processor type designs.
Devices like this need development environments and evaluation units and NXP is right there. The DK-57VTS-LPC2478 is a programmer’s development system that includes a 5.7 inch TFT with touch interface as well (see Figure 6). Note the 2M x 32 SDRAM for page buffering and graphic manipulations. NXP also offers the DK-57TS-LPC2478 which aims at sensor-based applications.
NXP Semiconductors is not alone by any means. Renesas Electronics America also provides processors with built-in support for TFTs. Take for example the DF2378RVFQ34V, an H8-based processor with advanced block transfer functionality built into the DMA. Like the NXP parts, it incorporates a slew of peripherals, Flash, memory interfaces, and I/O.
Not every processor needs to have a dedicated TFT interface to make it a viable candidate. For example, the TI TMS470R1B1MPGEA is a RISC-based 60 MHz ARM7 processor that can easily interface to a slew of TFT modules that are driven via a digital interface. While some modules need constant refreshing, others can be loaded with display data and generate all the timing and display data movement internally unburdening the host CPU. The CPU must be fast enough to keep up with any animations or video if this is the case.
Many displays are readily available as test vehicles. Many of these can be directly driven with the processors mentioned here. Many other processors can also be used, like offerings from Atmel (AT91SAM9261B-CU) and STMicroelectronics (STM32F107VBT6).
No matter how many data sheets you read, what it boils down to is this: a display is a visual device. What will ultimately make the decision is how it looks when you display your screens on it.

With the integration of Bridgetek’s next generation EVE3 BT815/BT816 Embedded Video Engine IC, Matrix Orbital EVE3 SPI TFT"s deliver clean, crisp, full color TFT screens for interactive menus, graphing, graphics and even video.
Point of Sales Machines, Multi-function Printers, Instrumentation, Home Security Systems, Graphic touch pad – remote, dial pad, Tele/Video Conference Systems, Phones and Switchboards, Medical Appliances, Breathalyzers, Gas chromatographs, Power meter, Home appliance devices, Set-top box, Thermostats, Sprinkler system displays, GPS / Satnav, Vending Machine Control Panels, Elevator Controls, and many more....

New functions have been added to draw smooth (antialiased) arcs, circles, and rounded rectangle outlines. New sketches are provided in the "Smooth Graphics" examples folder. Arcs can be drawn with or without anti-aliasing (which will then render faster). The arc ends can be straight or rounded. The arc drawing algorithm uses an optimised fixed point sqrt() function to improve performance on processors that do not have a hardware Floating Point Unit (e.g. RP2040). Here are two demo images, on the left smooth (anti-aliased) arcs with rounded ends, the image to the right is the same resolution (grabbed from the same 240x240 TFT) with the smoothing diasbled (no anti-aliasing):
An excellent new compatible library is available which can render TrueType fonts on a TFT screen (or into a sprite). This has been developed by takkaO, I have created a branch with some bug fixes here. The library provides access to compact font files, with fully scaleable anti-aliased glyphs. Left, middle and right justified text can also be printed to the screen. I have added TFT_eSPI specific examples to the OpenFontRender library and tested on RP2040 and ESP32 processors, the ESP8266 does not have sufficient RAM due to the glyph render complexity. Here is a demo screen where a single 12kbyte font file binary was used to render fully anti-aliased glyphs of gradually increasing size on a 320x480 TFT screen:
Support has been added in v2.4.70 for the RP2040 with 16 bit parallel displays. This has been tested and the screen update performance is very good (4ms to clear 320 x 480 screen with HC8357C). The use of the RP2040 PIO makes it easy to change the write cycle timing for different displays. DMA with 16 bit transfers is also supported.
Smooth fonts can now be rendered direct to the TFT with very little flicker for quickly changing values. This is achieved by a line-by-line and block-by-block update of the glyph area without drawing pixels twice. This is a "breaking" change for some sketches because a new true/false parameter is needed to render the background. The default is false if the parameter is missing, Examples:
New anti-aliased graphics functions to draw lines, wedge shaped lines, circles and rounded rectangles. Examples are included. Examples have also been added to display PNG compressed images (note: requires ~40kbytes RAM).
Users of PowerPoint experienced with running macros may be interested in the pptm sketch generator here, this converts graphics and tables drawn in PowerPoint slides into an Arduino sketch that renders the graphics on a 480x320 TFT. This is based on VB macros created by Kris Kasprzak here.
The RP2040 8 bit parallel interface uses the PIO. The PIO now manages the "setWindow" and "block fill" actions, releasing the processor for other tasks when areas of the screen are being filled with a colour. The PIO can optionally be used for SPI interface displays if #define RP2040_PIO_SPI is put in the setup file. Touch screens and pixel read operations are not supported when the PIO interface is used.
A feature rich Arduino IDE compatible graphics and fonts library for 32 bit processors. The library is targeted at 32 bit processors, it has been performance optimised for RP2040, STM32, ESP8266 and ESP32 types, other 32 bit processors may be used but will use the slower generic Arduino interface calls. The library can be loaded using the Arduino IDE"s Library Manager. Direct Memory Access (DMA) can be used with the ESP32, RP2040 and STM32 processors with SPI interface displays to improve rendering performance. DMA with a parallel interface (8 and 16 bit) is only supported with the RP2040.
The screen controller, interface pins and library configuration settings must be defined inside the library. They can NOT be defined in the Arduino sketch. See the User_Setup_Select.h file for details. This approach has significant advantages, it keeps the examples clean from long configuration options and once the setup is defined any example can be run without modification. PlatformIO users can define these settings on a per project basis within a platformio.ini file, see Docs folder in library.
Lots of example sketches are provided which demonstrate using the functions in the library. Due to the popularity of the library there are lots of online tutorials for TFT_eSPI that have been created by enthusiastic users.
For other (generic) processors only SPI interface displays are supported and the slower Arduino SPI library functions are used by the library. Higher clock speed processors such as used for the Teensy 3.x and 4.x boards will still provide a very good performance with the generic Arduino SPI functions.
Due to lack of GPIO pins the 8 bit parallel interface is NOT supported on the ESP8266. 8 bit parallel interface TFTs (e.g. UNO format mcufriend shields) can used with the STM32 Nucleo 64/144 range or the UNO format ESP32 (see below for ESP32).
Support for the XPT2046 touch screen controller is built into the library and can be used with SPI interface displays. Third party touch support libraries are also available when using a display parallel interface.
The library supports some TFT displays designed for the Raspberry Pi (RPi) that are based on a ILI9486 or ST7796 driver chip with a 480 x 320 pixel screen. The ILI9486 RPi display must be of the Waveshare design and use a 16 bit serial interface based on the 74HC04, 74HC4040 and 2 x 74HC4094 logic chips. Note that due to design variations between these displays not all RPi displays will work with this library, so purchasing a RPi display of these types solely for use with this library is NOT recommended.
A "good" RPi display is the MHS-4.0 inch Display-B type ST7796 which provides good performance. This has a dedicated controller and can be clocked at up to 80MHz with the ESP32 (125MHz with overclocked RP2040, 55MHz with STM32 and 40MHz with ESP8266). The MHS-3.5 inch RPi ILI9486 based display is also supported, however the MHS ILI9341 based display of the same type does NOT work with this library.
Some displays permit the internal TFT screen RAM to be read, a few of the examples use this feature. The TFT_Screen_Capture example allows full screens to be captured and sent to a PC, this is handy to create program documentation.
The library supports Waveshare 2 and 3 colour ePaper displays using full frame buffers. This addition is relatively immature and thus only one example has been provided.
The library includes a "Sprite" class, this enables flicker free updates of complex graphics. Direct writes to the TFT with graphics functions are still available, so existing sketches do not need to be changed.
The "Animated_dial" example shows how dials can be created using a rotated Sprite for the needle. To run this example the TFT interface must support reading from the screen RAM (not all do). The dial rim and scale is a jpeg image, created using a paint program.
The XPT2046 touch screen controller is supported for SPI based displays only. The SPI bus for the touch controller is shared with the TFT and only an additional chip select line is needed. This support will eventually be deprecated when a suitable touch screen library is available.
The library supports SPI overlap on the ESP8266 so the TFT screen can share MOSI, MISO and SCLK pins with the program FLASH, this frees up GPIO pins for other uses. Only one SPI device can be connected to the FLASH pins and the chips select for the TFT must be on pin D3 (GPIO0).
Configuration of the library font selections, pins used to interface with the TFT and other features is made by editing the User_Setup.h file in the library folder, or by selecting your own configuration in the "User_Setup_Selet,h" file. Fonts and features can easily be enabled/disabled by commenting out lines.
It would be possible to compress the vlw font files but the rendering performance to a TFT is still good when storing the font file(s) in SPIFFS, LittleFS or FLASH arrays.
Anti-aliased fonts can also be drawn over a gradient background with a callback to fetch the background colour of each pixel. This pixel colour can be set by the gradient algorithm or by reading back the TFT screen memory (if reading the display is supported).
The common 8 bit "Mcufriend" shields are supported for the STM Nucleo 64/144 boards and ESP32 UNO style board. The STM32 "Blue/Black Pill" boards can also be used with 8 bit parallel displays.
Unfortunately the typical UNO/mcufriend TFT display board maps LCD_RD, LCD_CS and LCD_RST signals to the ESP32 analogue pins 35, 34 and 36 which are input only. To solve this I linked in the 3 spare pins IO15, IO33 and IO32 by adding wires to the bottom of the board as follows:
If the display board is fitted with a resistance based touch screen then this can be used by performing the modifications described here and the fork of the Adafruit library:
If you load a new copy of TFT_eSPI then it will overwrite your setups if they are kept within the TFT_eSPI folder. One way around this is to create a new folder in your Arduino library folder called "TFT_eSPI_Setups". You then place your custom setup.h files in there. After an upgrade simply edit the User_Setup_Select.h file to point to your custom setup file e.g.:

ER-TFTM070-4V2.1 is the updated version of ER-TFTM070-4,that is 800x480 dots 7" color tft lcd module display with ssd1963 controller board,superior display quality,super wide viewing angle and easily controlled by MCU such as 8051, PIC, AVR, ARDUINO, and ARM .It can be used in any embedded systems,industrial device,security and hand-held equipment which requires display in high quality and colorful image.
It supports 6800, 8080 8-bit /9-bit/16-bit/18-bit/24-bit parallel interface.Built-in MicroSD card slot.It"s optional for resistive touch panel and controller XPT2046,capacitive touch panel and controller FT5206, font chip, flash chip and microsd card. We offer two types connection,one is pinheader and the another is ZIF connector with flat cable mounting on board by default and suggested.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!".Here is the link for7" TFT capacitive touch shield with libraries,examples,schematic diagram for Arduino Due,Mega 2560 and Uno. For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and development kit at the bottom of this page.

ER-TFTM050-3 is 800x480 dots 5" color tft lcd module display with RA8875 controller board,superior display quality,super wide viewing angle and easily controlled by MCU such as 8051, PIC, AVR, ARDUINO,and ARM .It can be used in any embedded systems,industrial device,security and hand-held equipment which requires display in high quality and colorful image.
It supports 8080 6800 8-bit,16-bit parallel,3-wire,4-wire,I2C serial spi interface. Built-in MicroSD card slot. It"s optional for 4-wire resistive touch panel (IC RA8875 built-in touch controller),capacitive touch panel with controller,font chip, flash chip and microsd card. We offer two types connection,one is pin header and the another is ZIF connector with flat cable.Mounting on board by default. There is no capacitive touch panel connection on the board of ER-TFTM050-3,its capacitive touch panel needs to be connected with your external board.Now we design another new board with capacitive touch connection named_ER-TFTM050A2-3.
Of course, we wouldn"t just leave you with a datasheet and a "good luck!".Here is the link for5" TFT capacitive touch shield with libraries,examples,schematic diagram for Arduino Due,Mega 2560 and Uno. For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and development kit at the bottom of this page.

Smart TFT LCD display embeds LCD driver, controller and MCU, sets engineer free from tedious UI & touch screen programming. Using Smart TFT LCD module, our customers greatly reduce product"s time-to-market and BOM cost.
Ms.Josey
Ms.Josey