EVE FAQs – Display

What is the refresh rate?

For SVGA (800×600) (FT81X only), the refresh rate is 60Hz (typical configuration).
For WQVGA (480×272), the refresh rate is 60Hz (typical configuration) For QVGA (320X240); the refresh rate is 60Hz (typical configuration)
Depending on the display panel requirement, other values of refresh rates can be configured by adjusting PCLK_DIV, HCYCLE and VCYCLE registers.

What screen sizes does EVE support?

EVE supports LCD displays such as SVGA (800×600, FT81X only), WQVGA (480×272) and QVGA (320×240) available in the market. Data enable and VSYNC/HSYNC modes are also supported to provide flexibility for the various displays on the market.

What LCD interfaces does EVE support?

FT80X supports video RGB, parallel output (default RGB data width of 6-6-6) with 2 bit dithering; configurable to support resolution up to 512×512 and LCD R/G/B data width of 1 to 6.

FT810/FT811 support video RGB, parallel output; configurable to support resolution up to 800×600 and LCD R/G/B data width of 1 to 6.

FT812/FT813 support video RGB, parallel output; configurable to support resolution up to 800×600 and LCD R/G/B data width of 1 to 8.

How do you connect EVE to the LCD?

Signals required are R [7:2] or [7:0], G [7:2] or [7:0], B [7:2] or [7:0], PCLK, DE, VSYNC and HSYNC. R, G, B signals locations are user configurable. In addition, endian of R, G, B signals are also configurable. These will make PCB routing much easier.

Does the FT8XX support backlight control?

Yes, EVE has a PWM output that is used to drive backlight LED drivers. It supports fully on, off and dimming the backlight.


What backlight driver does EVE support?

There is no specific requirement on what type of backlight drivers are to be used. It normally depends on the LCD/LED specifications. The back light driver in FT8XX design is the MIC2289-34.


How do you make the home icon in your examples fade in and fade out?

The fading is really controlled by the MCU controlling EVE. The fade affect is related to the alpha value of the icon (bitmap).

static void showhome()


if (!screen.snapshot && homefade) {

VC.command(COLOR_A(min(255, homefade * 3)));

static PROGMEM prog_uint32_t std1[] = {





VERTEX2II(4, 4, 0, 0),

VERTEX2II(6+32, 6+32, 0, 0),


VERTEX2II(5, 5, 0, 0),

VERTEX2II(5+32, 5+32, 0, 0),



VERTEX2II(5, 5, 14, 0),






The value of “homefade” is affected by touch events on the screen.

Is it possible to use different fonts for letters and numbers?

Yes. Treat each character to be displayed separately. This will allow a unique font to be applied to the character whether it is a number or a letter.

Do I have to calibrate the display every time I power on?

No. Calibration should be done at least once (manufacture/first use) and after that the calibration values may be stored to internal non-volatile memory for use in subsequent power-ons as per the example below.

// If the EEPROM starts with byte 0x7c, then it already holds

// the 24 byte touchscreen calibration values.

if (istouch() || (EEPROM.read(0) != 0x7c)) {


while (istouch())


VC.wr(REG_PWM_DUTY, 128);


VC.cmd_text(screen.w/2, screen.h/2, 28, OPT_CENTERX|OPT_CENTERY, “please tap on the dot”);






for (int i = 0; i < 24; i++)

EEPROM.write(1 + i, VC.rd(REG_TOUCH_TRANSFORM_A + i));

EEPROM.write(0, 0x7c); // is written!


else {

for (int i = 0; i < 24; i++)

VC.wr(REG_TOUCH_TRANSFORM_A + i, EEPROM.read(1 + i));


How do I adjust the curvature of the corner on a rectangle?

Rectangles are drawn with the primitive command RECTS. To adjust the appearance of the corners call the command LINE_WIDTH before drawing to the rectangle to adjust the corner radius.

How do I load my own company logo?

A logo is simply a picture (bitmap). As such it should be treated no differently to any other bitmap.
Create your image and size it using PC tools such as PAINT or GIMP. Use the image conversion utility to convert to a format that is suitable (higher resolution = more memory) and load the image. See the examples page for code examples e.g. Example 6 – Image Viewer.