NanoBoard 3000 - TFT LCD Panel (with Touch Screen)

Frozen Content

The NanoBoard 3000 provides high quality color display through a TS8003K TFT (Thin Film Transistor) LCD panel (from Shenzhen Techstar Electronics). The panel also features an analog resistive touch screen.

TFT LCD panel with touch screen.

From a user perspective, you can either output straightforward graphics to the panel, or provide a more sophisticated level of interaction involving input to your FPGA design from the touch screen.

LCD Display

The 2.4" panel features a Transmissive Color TFT LCD, with a resolution of 240(W) by 320(H). The display is based on an active matrix and backlight for the panel is provided through four white LEDs – wired in parallel, with a commoned anode.

The display has a CPU/register-oriented asynchronous Intel i80 bus interface, handled through an ILI9320 driver chip (from ILITEK). Although capable of supporting 262144 colors (RGB, 6-bits parallel), the panel is fixed to use 16bpp display on the NanoBoard, by tying the Interface Mode pins (IM0 and IM3) to GND. This results in Data Bus lines TFT_DB8 and TFT_DB9 not being used, and a total of 65536 colors being available for display.

Power for the panel (system, digital and logic supplies) comes from the motherboard's 3.3V supply.

The panel itself is mounted onto a small satellite PCB (NB3000-TFT01) which is then fitted into a custom injection-moulded plastic part, which lifts the display off the motherboard, in turn creating a better viewing angle. This satellite board connects to the motherboard using a standard 1.8" ATA/IDE interface, courtesy of a 2x20 FFC header located on each board. Connection is made using a 40-way flat-flex cable.

1.8" ATA/IDE interface connector on the motherboard,
used to attach the satellite board on which the TFT
LCD panel resides.

The panel connects to the satellite board on which it resides, through a 37-pin LCD Flex connector. All display-based signals from I/O pins of the User FPGA (originating from an in-design ILI9320 LCD driver peripheral) are routed through to this header, in addition to interface signals for the backlight and touchscreen, and required power supplies.

Underside of the NB3000-TFT01 satellite board, showing the
37-pin LCD Flex cable (left) and the 1.8" ATA/IDE interface (right).

Control of the backlighting – the four LEDs – is acheived using a single signal from within a design programmed inside the User FPGA, TFT_BLIGHT. The common anode for the four LEDs is tied to the 3.3V supply. The cathodes of the LEDs are connected together, through suitable resistance, to the collector pin of an N-channel 'enhancement mode' metal-oxide semiconductor field-effect transistor (NMOSFET). This device (an AO3400) supports a maximum Drain-Source voltage of 30V, with maximum continuous Drain current of 5.8A. In terms of switching, the maximum turn-on delay time is 5ns, with a maximum turn-off delay time of 40ns.

The TFT_BLIGHT signal is simply a control of the transistor switch. Tie this signal High to keep the panel's backlight lit.

Touch Screen Control

Control for the TFT LCD panel's touch screen is provided through an XPT2046 4-wire resistive touch screen controller (from Shenzhen XPTEK Technology). This device is a 12-bit SAR type ADC with S/H circuitry. It has a maximum sampling frequency of 125kHz, when clocked at 2MHz.

Touch Screen Controller.

The device is powered from a regulated 3.3V power supply, obtained by passing the motherboard's 5V supply through a low dropout (LDO) regulator (a TC1017R, from Microchip).

Input to the Controller is the four-wire analog output from the touch screen, which relates to the position touched on the screen. The reference voltage used for the device is the same as the power supply, i.e. 3.3V. This determines the analog input range to the converter.

Communication between the User FPGA and the Controller is performed over the SPI bus. From an FPGA design perspective, the following lists how the SPI interface signals from the design are used:

  • The TFT_TSC_CS_N line selects the Controller for access. The serial input/output registers are enabled and the ADC conversion process is started upon this signal being received by the Controller (active Low).
  • The TFT_TSC_DOUT line is used to write to the Controller's control register. Data is latched on the rising edge of TFT_TSC_CLK.
  • The TFT_TSC_DIN line is used to transmit the converted data to the User FPGA device. Data is shifted out on the falling edge of TFT_TSC_CLK.
  • The TFT_TSC_CLK signal not only provides the clock source for the ADC conversion process, but also the serial clock for accessing the converted data.

The Controller provides an interrupt signal, wired to an I/O pin of the User FPGA. This signal – TFT_TSC_IRQ_N – is sourced from the device's \PENIRQ output. This signal is kept normally High through use of an external pull-up resistance to the 3.3V power supply. When the touch screen is touched, the signal will be taken Low. The interrupt signal is used to alert a processor within the FPGA design that the panel has been touched. The embedded code running on the processor can then enter a routine to send a control word to the Controller, and hence initiate conversion.

The Controller also provides a busy signal, again wired to an I/O pin of the User FPGA. This signal – TFT_TSC_BUSY – is sourced from the device's BUSY output. This signal is taken High when the Controller is currently performing a conversion. It goes to a high-impedance state whenever the device's \CS input is High.

Location on Board

The 1.8" ATA/IDE interface header (designated J27), into which the TFT LCD panel satellite board is connected, is located on the component side of the board, to the bottom-right of the User FPGA device (U8).

The XPT2046 device (designated U48) is also located on the component side of the board, directly to the right of the 1.8" ATA/IDE header.

The TC1017R device (designated U43) is located on the solder side of the board.

LDO regulator for the TFT
LCD interface.

Schematic Reference

The TFT LCD panel interface circuitry can be found on the following sheets of the motherboard schematics:

  • Sheet 65 (TSC_XPT2046.SchDoc, entitled TFT Touchscreen Interface)
  • Sheet 66 (CON_FFC40_LCDTFT.SchDoc, entitled LCD Module Connector)
  • Sheet 9 (PSU_TC1017R_3V3.SchDoc, entitled PSU TC1017R 3V3).

Circuitry resident on the satellite PCB (NB3000-TFT01) can be found on sheet NB3000TFT01.SchDoc (entitled TFT and IR 38kHz Board). A PDF of this schematic can be found in the document NB3000-TFT01 Schematic.pdf.

Design Interface Component

Table 1 summarizes the available design interface component that can be placed from the FPGA NB3000 Port-Plugin.IntLib, to access and use the TFT LCD panel for purely graphical display purposes.

Table 1. TFT LCD panel port-plugin component.
Component Symbol
Component Name


Place this component to interface to the TFT LCD panel.

Should you wish to utilize the panel's touch screen, you will need to place the relevant design interface component that allows access to, and communications with, the Touch Screen Controller, as summarized in Table 2.

Table 2. Touch Screen Controller port-plugin component.
Component Symbol
Component Name


Place this component to interface to the XPT2046 device, over the SPI bus.

Further Device Information

For more information on the TS8003K TFT LCD panel, refer to the datasheet (TS8003K_Datasheet 1 1.pdf) available at

For more information on the ILI9320 device, refer to the datasheet (ILI9320.pdf) available at

For more information on the XPT2046 device, refer to the datasheet (XPT2046.pdf) available at

For more information on the TC1017R device, refer to the datasheet (21813d.pdf) available at

For more information on the AO3400 device, refer to the datasheet (AO3400.pdf) available at

You are reporting an issue with the following selected text and/or image within the active document: