Lib for FTDI FT800 graphic controller "EVE" The API is changed from the FTDI original names. It use smaller names now. DL() will add something to the display list instead of Ft_App_WrCoCmd_Buffer ... The FTDI programmer Guide is also using this commands.

Dependents:   FT800_RGB_demo FT800_RGB_demo2 FT800_demo_for_habr Temp_&_RH_at_TFT-demo ... more

Fork of FT800 by Peter Drescher

The mbed is talking thru the SPI interface with the graphic engine. We have to set up a list of Commands and send them to the FT800 to get graphics.


1. VM800C development modules from FTDI :

The modules come with different size lcd. 3.5", 4.3" or 5" or without. /media/uploads/dreschpe/ftdi_eve.jpg The picture shows a modified board, because my lcd had a different pinout. The mbed is connected to the pin header on the bottom.

2. EVBEVE-FT800 board from GLYN:

The module has a 40 pin flex cable connector to connect a display out of the EDT series.


The mbed is connected via the pin header on the left. If you use this board with a EDT display you have to uncomment the #define Inv_Backlite in FT_LCD_Type.h, because the backlight dimming is inverted.

3. ConnectEVE board from MikroElektronika The board has also a pin header to connect the mbed. - not tested, but it looks like the other boards.

4. ADAM arduino shield Component page :

Works with the NUCLEO boards, but you have to patch three wires.



We need 5 signals to connect to the mbed. SCK, MOSI and MISO are connected to a SPI channel. SS is the chip select signal and PD work as powerdown. The additional INT signal is not used at the moment. It is possible to generate a interrupt signal, but at the moment you have to poll the status register of the FT800 to see if a command is finished.


This lib is based on the demo code from FTDI. If you want to use it, you have to read the programming manual :

See my demo :

Tue Feb 10 23:32:22 2015 +0000
Add function to read/write touch calibration data.; Add color names  ; Add a patch from  Ivano Pelicella to draw flat buttons

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dreschpe 2:ab74a9a05970 1 /* mbed Library for FTDI FT800 Enbedded Video Engine "EVE"
dreschpe 2:ab74a9a05970 2 * ported to mbed by Peter Drescher, DC2PD 2014
dreschpe 2:ab74a9a05970 3 * Released under the MIT License: */
dreschpe 2:ab74a9a05970 4
dreschpe 2:ab74a9a05970 5 /* change this file to adapt other LCD screens */
dreschpe 2:ab74a9a05970 6
dreschpe 0:5e013296b353 7 #ifndef FT_LCD_TYPE_H
dreschpe 0:5e013296b353 8 #define FT_LCD_TYPE_H
dreschpe 0:5e013296b353 9
dreschpe 0:5e013296b353 10 /* Global variables for display resolution to support various display panels */
dreschpe 0:5e013296b353 11 /* Default is WQVGA - 480x272 */
dreschpe 0:5e013296b353 12
dreschpe 0:5e013296b353 13 #define my_DispWidth 480
dreschpe 0:5e013296b353 14 #define my_DispHeight 272
dreschpe 0:5e013296b353 15 #define my_DispHCycle 548
dreschpe 0:5e013296b353 16 #define my_DispHOffset 43
dreschpe 0:5e013296b353 17 #define my_DispHSync0 0
dreschpe 0:5e013296b353 18 #define my_DispHSync1 41
dreschpe 0:5e013296b353 19 #define my_DispVCycle 292
dreschpe 0:5e013296b353 20 #define my_DispVOffset 12
dreschpe 0:5e013296b353 21 #define my_DispVSync0 0
dreschpe 0:5e013296b353 22 #define my_DispVSync1 10
dreschpe 0:5e013296b353 23 #define my_DispPCLK 5
dreschpe 0:5e013296b353 24 #define my_DispSwizzle 0
dreschpe 0:5e013296b353 25 #define my_DispPCLKPol 1
dreschpe 0:5e013296b353 26
dreschpe 0:5e013296b353 27 /* the GLYN display has inverted backlite */
dreschpe 3:392d2c733c68 28 //#define Inv_Backlite
dreschpe 0:5e013296b353 29
dreschpe 0:5e013296b353 30 #endif