EVE FAQs - BT88x

Can I use the BT88x with circular displays?

Yes, the BT88x is ideal for using with circular displays. These are available in various sizes such as 2.1” diameter and are great for making digital gauges. The BT88x series includes resistive (BT880 and BT882) and capacitive (BT881 and BT883) touch versions and so you can choose a screen with the best type of touch for your application (or you can use without touch if it is not required). Some panels require the display itself to be set to RGB mode after power-up via a separate serial channel. It is recommended to check the datasheet for your display as if this is needed, some additional pins on the display connector should be connected to your host MCU. Find out more about the BT88x series ICs in the BT88x Datasheet.

Which microcontroller (MCU) can I use with the VM880C EVE Development Module?

The VM880C connects to a host MCU via a 10-way pin header which has power and SPI signals. Since the EVE devices act as an SPI peripheral, you can use any MCU which has an SPI Master. For an existing design, you can connect the module to a spare SPI master on your existing MCU. For new product designs, you can choose the MCU based on the key product requirements (for example one which has PWM outputs if you will be controlling motors, or one which is low-cost and has a small PCB footprint). The VM880C can also connect to a PC via a USB-SPI cable.  See the VM880C datasheet for more details.

Some key requirements for the MCU are:

  • An available SPI Master which can be set to SPI Mode 0
  • SPI signals used are SCK, MOSI, MISO, CS# (note that CS# can be a GPIO)
  • Optional GPIO output for power-down signal
  • Optional interrupt input (if interrupt operation is required)
  • SPI and GPIO can use 5V or 3.3V signal levels due to the VM880C’s on-board buffers
I’m looking for a BT88x development module, should I choose the IDM2040-43A or the VM880C?

Both modules allow you to easily evaluate the BT88x series. The main factor in choosing between these modules is which type of MCU host you will use.

The IDM2040-43A has an on-board RP2040 MCU which can be programmed in languages such as C and CircuitPython. The integrated MCU makes this module self-contained with just a USB connection to a computer for programming. Connectors allow access to a range of I/O from the RP2040 such as I2C and GPIO to attach peripheral devices.

  • IDM2040-43A can only be used with the on-board RP2040 acting as the host to the BT88x and cannot be used with a different MCU.
  • Capacitive touch screen (4.3” LCD integrated to the module)
  • Plastic bezel for easy mounting
  • Uses BT883 EVE Graphics controller
  • See the IDM2040-43A datasheet for more details.

The VM880C is designed for connecting your own MCU and display.

  • VM880C module can be used with any MCU/Host which has an SPI Master
  • Resistive touch screen such as 4.3” or 5” (LCD not included)
  • Credit-card PCB format with 40-way FPC for display and 10-way header for SPI
  • Uses BT880 EVE Graphics controller
  • See the VM880C datasheet for more details.

EVE FAQs - General

How can I use full-screen colour background images for each floor on my elevator control panel if my MCU has limited Flash available?

Our BT81x series (BT815, BT816, BT817, BT818) have a Quad-SPI NOR Flash interface. You can store your images on the NOR Flash chip and EVE can then access them directly.

The BT81x can also use the ASTC format which reduces the image size whilst retaining good image quality. The EVE-attached Flash can also store assets such as fonts, video and animations, ensuring that these can all be used even where the host MCU has a small Flash size.

I am designing an elevator control panel – how do I use larger fonts for the floor description and number indication?

You can use the EVE Asset Builder (EAB) to convert your own custom fonts, allowing you to use large numbers and letters as well as choosing the font style.

EVE has a range of built-in font styles/sizes but some applications may require extra-large fonts. Convert selected characters from your preferred font using EAB to give your elevator panel your desired style and ensure ease of viewing with extra large characters.

Do I need to upgrade the Microcontroller (MCU) in my elevator design to add a colour touch-enabled user interface?

With EVE, you can easily improve your user interface with a colour touch-enabled display without stepping up to a higher spec MCU.

Connecting to an available SPI Master on your existing MCU, EVE is easy to add whilst minimising any re-design of the hardware. EVE is also easy to integrate with your software with its simple command set. EVE takes most of the hard work away from your MCU allowing you to create a user-friendly and attractive user interface without needing a high-performance MCU. Touch control can also be implemented with minimal hardware and MCU overhead thanks to EVE’s built-in touch controller engine.

Do I need to use the built-in widgets for my user interface design?

You can also create your own controls such as arc gauges and charts using the EVE graphics features to give your design a unique appearance.

EVE has a range of built-in widgets for common controls such as buttons, slider and gauges. These make it easy to add controls to your application. However, you can also create your own controls using the EVE display list.

You can even combine built-in widgets with custom designs. For example, the gauge widget is useful as it takes away the need to manually draw and rotate the needle. Drawing the gauge without the background and/or scale allows you to add your own graphics behind to make an attractive custom gauge.

We have examples of custom controls such as arc gauges and charts on our Bridgetek Github page, in the examples in EVE Screen Editor and in EVE Screen Designer.

How can I use EVE features to help make the touch interface more user friendly?

EVE has a range of features such as audio tone output, a range of image formats for icons, and built-in widgets such as buttons/sliders, which can help with this.

When creating a touch user interface, one way to make it more intuitive is to provide feedback to the user to confirm that their touch was accepted. EVE has a wide range of built-in audio tones which can be selected and triggered with a simple register write and this is an ideal way to show that the touch was detected.

Some EVE widgets (such as the button widget) have a 3D effect which gives an un-pressed appearance. You can turn off the 3D setting to make the button flat when a touch is detected on the button, causing the button to appear to be pressed in. Images are also often used as touch icons for custom styling.

EVE’s graphics capabilities make it easy to add effects such as a coloured border around the icon which appears when pressed, to change the colour of an icon when pressed, or even to apply effects such as shrinking the icon slightly to give a ‘pressed in’ effect.

When implementing controls such as cursor and X/Y controls on the screen, one other useful technique is to draw a larger invisible circle behind the cursor and apply a touch tag to that so that the cursor effectively has a larger area.


What touch features does EVE have to help the designer when creating their user interface?

EVE has innovative touch tagging and tracking features to make it easy to interpret touches on the screen.

With Tagging, you can assign tag numbers to objects on the screen when you draw them. When the screen is being displayed, you can check for touches by simply reading a register which will return the tag number if a tagged item is being touched (you can still read the X and Y coordinates of the touch too if required).

This is ideal for controls such as buttons on the screen. You can also enable an interrupt to notify the MCU if the tag value changes.


What is the difference between the BT880/1 and the BT882/3?

The main differences between these parts are that the BT882/3 includes a higher colour depth RGB interface (RGB666 vs RGB888), includes an additional GPIO pin (3 GPIOs vs 4 GPIOs) and has an increased package size than that of the BT880/1 (QFN48 vs QFN56).

What are the benefits of using a separate graphics controller like EVE?

1.It allows you to use a low-cost MCU for applications with Graphical Display, Touch and Audio.

    • Ideal for upgrading existing products as well as new products.
    • Create attractive and well featured HMIs with very light loading on the MCU.
    • External flash offloads storage from MCU memory (BT81x).
    • Use your preferred MCU – SPI command set allows use with almost any MCU.

2. Having a separate graphic controller provides flexibility.

    • Have a greater choice of MCUs – code can be easily ported to work with different MCUs.
    • Change to a completely different MCU, add the EVE SPI routines, and re-use the same EVE application code saving a lot of cost, time and effort.

3. Bridgetek’s Powerful graphical toolchains and code examples make application development easy.

    • EVE Screen Designer allows the GUI to be developed on a PC and generates code.
    • EVE Screen Editor allows users to develop screen content graphically with drag and drop.
    • Comprehensive software examples make developing the code easy.

4. Benefit from object oriented operation.

    • Programming is easy and intuitive.
    • Easily add touch using the tagging and tracking features whilst minimising loading on the MCU.
What is EVE?

EVE stands for Embedded Video Engine, which is powered by FTDI Chip in-house technology developed for embedded graphics and video application. It will greatly reduce the development effort as well as MCU bandwidth required for graphic displays. EVE has 3 in 1 functionality including display, audio, and touch, and in combination with its object oriented methodology makes the creation and rendering of graphics very easy/intuitive while at the same time greatly reducing the system implementation costs.

Why is EVE different from other GPUs?

EVE has many differentiators when compared to GPUs, including:
No external frame buffer integrated touch screen
Simple serial MCU interfaces for controlling and implementing the display, namely SPI, Quad SPI (FT81X only) and I²C
Audio playback with built-in sound synthesizer Backlight LED PWM output
Overall an advanced architecture that provides complete GUI functionality that enables the creation of advanced graphics, while being easy to develop with.

What are EVE’s key Features and Benefits?

Key features include:

  • Built-in graphics operations allow user with little expertise to create high-quality display Widget support can offload the system MCU and provide a variety of advanced graphic capabilities and efficiencies
  • Integrated with 4-wire touch-screen controller and CTPM through I²C interface for providing complete GUI experience Serial interfaces to host MCU with QSPI (FT81X only), SPI or I2C for lower pin count and system cost Programmable interrupt controller provides maximum flexibility with host MCU
  • Internal 12MHz oscillator within +/- 5.6% accuracy; integrated clock multiplier and system clock out function (48 or 36MHz)
  • Clock switch command to switch internal or external oscillator with 12MHz crystal, or external 12MHz clock input for better clock requirement
  • LCD display support for SVGA (800×600) (FT81X only), WQVGA (480×272) and QVGA (320×240) supporting data enable mode and VSYNC/HSYNC modes
  • Audio channel output via PWM output Sound synthesizer
  • Low power consumption
  • Flexible power mode control including power down, sleep and standby states Supports host interface I/O voltage from 1.62V to 3.63V
  • Supports extended temperature range, -40 to 85 C, to address a wide range of market applications
  • Low internal voltage regulator supplies 1.2V to the digital core, enabling low power operation
Will there be more products released which employ EVE technology?

The FT8XX functionality provides the highest value and addresses the widest market. The architecture can be scaled and readily partitioned so that other family members can be quickly introduced. In addition, we continuously evaluate market feedback and strategic opportunities prior to publically announcing the EVE roadmap, and appreciate user inputs.

Is there any third party development support for EVE/FT8XX?

Yes, our partner, MikroElektronika, offers a product, Visual TFT, which supports many of EVE’s capabilities, objects, and widgets. Visual TFT retails for $90-99 and will help customers develop graphic solutions quickly and easily. It will shorten the learning curve dramatically, as the software employs many high level graphic elements that can be readily used and manipulated to create professional looking displays (visit www.mikroe.com for more details).

What is a display list?

The display list is the commands which EVE will interpret and processes accordingly to render the display. One display command is usually 4 bytes length. A display list can be a maximum of 8KB of RAM.

What is a widget?

Widgets are predefined graphic objects intended for a specific display/functionality, like items as clocks, toggle switch, progress bar, etc. They are used to assist developers in creating the screen shot much easier. Widgets styles can also be changed by specifying various parameters appropriate to the widget.

What is the graphic memory size?

FT80X: 256K Bytes

FT81X: 1M Bytes

Can EVE display a bitmap, JPEG?

EVE can display a bitmap and has the capability to decompress JPEG data (only baseline profile).

FT80X: Decompressed JPEG data by software.

FT81X: Decompressed JPEG data by hardware.

Can EVE play back MP3 music?

No, EVE has no MP3 decoder functionality.


Can EVE do video animation?

FT80X- No, but FT80X has the ability to render displays that give the sense of animation. Details for these capabilities and example code are provided in the FT80X Programming Guide.

FT81X- Yes, FT81X supports playback of motion-JPEG encoded AVI videos.

What are the system requirements for EVE?

As long as MCU has QSPI (FT81X only), SPI or I2C interface and has the capability to construct display list commands, it can work with EVE. This means that a low end 8 bit microcontroller can be readily used with EVE or that because the bandwidth requirements are minimal that the current MCU can be used and the display capability readily added into the architecture/system.

How much memory does the MCU require to display a simple graph?

Realistically, as long as the MCU has the memory to construct one 4 byte display command and transfer it to EVE via chip interface, EVE is able to display the graph.

Can I use alternative widgets from other tools?

No. The EVE series uses internal widgets supplied with the device. To make additional composite objects would require a function in the controller firmware to construct a display list to send to the FT8XX. This is not the same as using a 4 byte widget.

Why are there two display list buffers?

There are two display list buffers as one buffer is required for editing to create a new display and the other is the one that contains the display list currently being actioned. A swap command is required in the controller code to swap between the editable buffer and the actioned buffer.

You offer conversion tools for images, audio files and fonts to run on windows. Will there be Linux and MAC equivalents?

Not at this time. The utilities are free examples of converting standard file formats to alternative standard file formats compatible with EVE. As such alternative tools could be sourced by the user for Linux and MAC.

Can I store both audio and image files in the object RAM at the same time?

Yes. They will be treated as separate objects. The only limitation is the files must be small enough to fit in the memory (FT80X: 256kBytes, FT81X: 1MBytes)

Can the MikroE Visual TFT output be used with non-MikroE compilers?

No. The output is dependent upon MikroE libraries allowing for an integrated, single source solution to application development.


Can I use LVDS displays with EVE?

The EVE family of display controllers output RGB signals for connecting to an RGB display panel. However, you can also add an external RGB to LVDS IC to convert these to LVDS (Low Voltage Differential Signalling). We have one example on our ME817EV board which contains a FIN3385 Flat-Panel Display Link Serializer / De-serializer, allowing it to support RGB or LVDS displays. You can find details of this evaluation board here: https://brtchip.com/wp-content/uploads/sites/3/2022/01/DS_ME817EV.pdf


Can I use an 18-bit RGB screen with EVE devices which have 24-bit output?

Yes, this is possible. The FT812/3 and the BT81x series have 24-bit outputs on their RGB interface (8 red, 8 green and 8 blue). However, they can be used with LCD panels which have a smaller color depth. Many displays have 18-bit RGB interfaces (6 lines per color). When using a display with fewer bits per color, the REG_OUTBITS register can be written to set the number of lines per color. See the EVE Programmers Guide for details of this register. When setting a number of bits which is less than the maximum for your EVE family device (for example setting a BT817 to 6 bits per color instead of 8) note that the output is justified to the upper bits. Therefore, your display’s R5:0, G5:0 and B5:0 would be connected to EVE output pins R7:2, G7:2 and B7:2 respectively. The output lines R1, R0, G1, G0, B1, B0 on EVE would not be used.


EVE FAQs -Interface

In my Smart Home user interface, I want to provide rotary dial controls for lighting and temperature control. How can I detect the user input from an on-screen rotary dial and use it in y application?

EVE has an innovative tagging and tracking feature which makes implementing touch controls easy, including rotary controls. Touch tagging allows you to assign a tag to an object on the screen. You can easily determine which item is being touched by reading the REG_TOUCH_TAG register, either by polling or in response to an interrupt (EVE can generate an interrupt on a change of touch condition)

Tracking extends this feature further via CMD_TRACK. You can set an area on the screen and then determine the relative position of the users touch within that area by simply reading REG_TRACKER. Tracking can support linear and radial modes.

  • The linear mode is ideal for sliders and scroll bars, and reports the distance along your defined tracked area from 0 to 65536
  • The radial mode is ideal for rotary dials. The tracking value represents the angle of the touch point relative to the object’s centre in units of 1/65536 of a circle. 0 means that the angle is straight down, 0x4000 is left, 0x8000 is up, and 0xc000 is right.

Tagging and Tracking support multi-touch (up to 5 touches) on capacitive touch versions of EVE such as the BT817, with five Tag and 5 Tracker registers (e.g. REG_TRACKER to REG_TRACKER_4) providing the results.

My smart home application will include mood lighting control. Does EVE support controls for setting mood lighting colours?

Colour picker controls are often used for mood lighting as well as setting display themes. With EVE it is easy to create various styles of colour picker based on an image.

EVE stores images in RAM_G for display on the screen. The MCU can read this image data from RAM_G via SPI reads. Since we know the size of the image and the format of the image data (e.g. RGB565 has 2 bytes per pixel with red/green/blue data formatted as RRRRRGGG GGGBBBBB) we can determine the colour of each pixel. By combining this with the position of the user’s touch relative to the image, we can determine the colour of the pixel within the bitmap image that they are touching. The image could be a colour gradient or any other custom image that suits the application.

Sliders can be added to provide further brightness and saturation adjustment of the selected colour. Ensure that the screen is calibrated for most accurate results. EVE’s built-in calibration features allow easy screen calibration.

We have examples of colour picker implementations in our EVE Screen Designer (see Examples > Basic > ColorPicker) and we have further explanation and examples of some colour picker techniques in Application Note BRT_AN_074.

I would like to use EVE in a smart home control product. How can I adjust the screen brightness or dim the screen when it is not in use?

EVE provides full PWM control over the external LCD backlight driver circuitry for a display. You can adjust the screen brightness as desired through simple register writes. This is ideal for applications where the screen brightness may be varied by the user via an on-screen slider for example or automatically (by connecting an ambient light sensor to the MCU).

The EVE series of display controller ICs include a BACKLIGHT pin which provides a PWM signal to the LCD backlight driver circuit. The PWM output from this pin is controlled by the REG_PWM_HZ and REG_PWM_DUTY registers. REG_PWM_HZ allows for a valid frequency range from 250Hz to 10000Hz, while REG_PWM_DUTY can be set between 0 and 128 (0 means backlight completely off, 128 means backlight at max brightness). Your application can therefore have full control of the LCD brightness.

You can also turn off the backlight and put EVE into a low power mode when the smart home controller is idle. EVE can pass the interrupt signal from the touch panel to your MCU, allowing you to wake EVE and illuminate the display when a user touches the screen.

How can I play a sound effect to acknowledge the users touch in my coffee machine interface?

EVE includes a range of built-in sound effects such as beeps, bells, clicks and musical instruments which can be played via a simple register write.

These take the hard work out of recording and fine-tuning sounds or even trying to generate professional sounding tones with an MCU. Use touch tags to detect when icons or buttons on the screen are being touched.

Then, write the hex code for your chosen sound to REG_SOUND to play it (see the Audio section of the EVE device datasheet for a table of sounds).

You can also set the volume via REG_VOL_SOUND which is useful for making alert sounds louder and touch acknowledgement more discrete.

Can I add animations to my coffee machine user interface with EVE?

Yes, BT815/6 and BT817/8 have features to make animations easy. You can play multiple animations simultaneously. Convert your GIF file(s) using our EVE Asset Builder and then play them on EVE with just a few commands. Store your animation data on EVE’s directly attached NOR Flash to minimise Flash usage on your host MCU. BT817/8 have some new animation features, allowing you to play animations from RAM_G and CMD_RUNANIM which makes animations even simpler to play.

I am using EVE to add a graphical touch interface to my coffee machine design. When I mount the display behind the protective glass, the touch is not always recognised correctly?

Many capacitive touch panels (CTP) have adjustable sensitivity. In this case, you can use our custom touch feature to configure this by writing to the registers of the CTP. This will help to ensure a good user experience with your touch interface. Check the datasheet for your CTP to find out which settings it supports. Custom touch is available on BT881, BT883, FT811, FT813, BT815, BT817 and BT817A. Find out more in our capacitive touch guide BRT_AN_090.

I wish to use EVE in an access control system that requires touch input, but the touch control on my LCD panel is not natively supported, can EVE support custom touch functionality?

The newest generations of EVE ICs (FT81x, BT81x) support the implementation of custom touch controller firmware to support a wider variety of Capacitive touch controllers. Custom touch controller firmware can be complied using our EVE Asset Builder (https://brtchip.com/eab/) toolchain, where instructions on how to load this firmware during EVEs boot sequence are also included. Please see BRT_AN_090 Eve Working with Capacitive Touch Screens (https://brtchip.com/wp-content/uploads/2023/11/BRT_AN_090-EVE-Work-with-Capacitive-Touch-Screen.pdf) for more details.

How do I overlay icons and message boxes on my user interface?

EVE displays items on the screen in the order of the display list. Therefore, items further down in the display list will be layered on top of items further up. A shape or image displayed towards the end of the list can therefore be overlaid on top of the earlier screen contents. This is useful for adding a menu or message box over the top of the user interface. You can use the Alpha setting (COLOR_A) to give the message box partial transparency too for an improved visual effect.

How do I use icons or symbols on my EVE user interface with a transaprent background?

Some icons may have a specific outline shape or may have areas inside where you want the background to show through. You can help make your interface more intuitive by using images as icons for status indication and for touch buttons. Ensure that your original image is in a format supporting transparency. You can load transparent PNG images to EVE using CMD_LOADIMAGE or you can convert them using EVE Asset Builder (https://brtchip.com/eab/). When converting the images, ensure that you convert to a format supporting transparency (alpha) such as ARGB1555 or ASTC.

What interfaces does EVE support?

FT80X: Standard serial interfaces to the host MCU include: SPI up to 30MHz or I²C clocked up to 3.4MHz.

FT81X: Standard serial interfaces to the host MCU include: QSPI up to 30MHz.

How do you design EVE with minimum external components?

EVE can be designed into a system without the need to add an external crystal component. EVE has an internal oscillator that is enabled by default upon power on. The frequency of the internal oscillator is 12MHz ±5.6% across operating temperature (-40° to 85°C).

What is crystal frequency supported?

When external crystal component is used, the crystal component should be 12MHz.

What connectors do I require to connect with the red connectors on the VM800P?

These connectors are 2×8 way Micro-MaTch connectors and allow for expanding the IO of the VM800P to add interfaces such as Ethernet, RS485, relays etc. via the SPI port of the ATMEGA328P.


Can the FT8XX access an SD card directly?

No. For designs requiring additional memory for storing objects such as images and audio files the additional memory must connect to the MCU. This allows for extra flexibility as the MCU can access the memory for other non-EVE associated files without going via the FT8XX and as such the extra system memory becomes general purpose. This architecture also allows for the additional memory to be either USB, SD Card or other formats.

Can EVE work with Intel 8080 Interfaces?

No. Current devise in the series are designed for RGB only

Can I adjust the FT8XX pinout in software?

Yes. The FT8XX contains a function called swizzle which allows the assignment of the Red, Green and Blue data lines to be changed. The user can either swap an entire bank of colour pins or reverse the bit order. To make the swaps the application code must access the REG_SWIZZLE register.

Does the microcontroller need to handle raw, touch-screen input?

No, the raw touch screen information is acquired and processed and updated in the respective register for the MCU to read. EVE does the noise filtering for the resistive touch-screen. The x, y data is loaded into registers to be read by the MCU. In addition, a resistive location can be defined and mapped to a specific character (i.e. a specific alpha-numeric) so that this specific character is transferred from the FT8XX to the MCU, such that the MCU need not execute any parsing functions.

Can the FT8XX run from an FPGA?

Essentially yes. The FT8XX at its most basic level can be considered as a QSPI (FT81X only) or SPI peripheral to a host controller. Whether that hosts is in the MCU or FPGA is up to the designer.

When I write to the FT8XX do all instructions take the same time to execute?

Although each instruction sent over QSPI (FT81X only) or SPI interface, this cannot be guaranteed as not every instruction does the same thing. E.g. some instructions must fetch objects from object RAM while others draw primitives on the fly. Widget instructions are like zip files which must be extracted to create a full list of commands for the display list.

What are the FT9xx SD Card Speeds?

The same SD Host Controller is in the FT93x and FT90x. Our measured speeds are (Class10, 16KB Cluster, FAT32): FT930, SDCLK@25MHz USB Read (100MB): 9.7 MBytes/sec USB Write (100MB): 6.8 MBytes/sec FT930, SDCLK@50MHz, Class10 USB Read (100MB): 18.5 MBytes/sec USB Write (100MB): 8.0 MBytes/sec.


EVE FAQs – Power

How does EVE power up?

On power up, EVE is in STANDBY state. A dummy read at location 0 from the host interface will send EVE from STANDBY state to ACTIVE state.

What kind of power modes does EVE support?

There are 4 power modes that EVE supports.

  1. Active state – EVE is in full function mode preforming graphic rendering, touch processing and audio processing.
  2. Standby state – in this state, the crystal oscillator and PLL are functioning, the system clock to EVE’s core is disabled. All register content is retained.
  3. Sleep state – in this state, the crystal oscillator and PLL is disabled, the system clock applied to EVE’s core is disabled. All register content is retained.
  4. Power down state – in this state, the internal 1.2V regulator supplying the core digital logic is disabled. The crystal oscillator and PLL is disabled, and the system clock applied to EVE’s core is disabled. All register contents are lost and reset to default upon power on reset.

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.

EVE FAQs – Touch

What kind of touch screen does the FT8XX support?

FT800/FT810/FT812 supports 4-wires resistive touch-screen controller that incorporate median filtering and touch force sensing.

FT801/FT811/FT813 supports I²C capacitive touch screen with up to 5 touches detection.

How does the FT8XX touch screen work?

Please refer to this link for detailed description on how a 4 wire resistive touch screen works. http://www.sparkfun.com/datasheets/LCD/HOW%20DOES%20IT%20WORK.pdf

Please refer to this link for detailed description on how a capacitive touch screen works.

Does the FT8XX support touch pressure measurement?

Yes. Touch pressure measurement can be detected on FT800/FT810/FT802.

Does the FT8XX support multi touch?

FT800/FT810/FT812 are resistive touch solution, there is no multi touch support.

FT801/FT811/FT813 are capacitive touch solution which support 5 touches detection.

Does the FT8XX support touch slide?

Yes, users can drag a screen slider with a stylus or finger.

Which capacitive touch controllers are compatible with the FT8xx?

Refer to the App Note AN_336 FT8xx-Selecting an LCD Display section 6 for a list of compatible touch controllers.

EVE FAQs – Audio

I am trying to use sounds and audio in my EVE application. The code looks correct but I cannot hear any sound output.

EVE outputs the audio signal via the Audio_L pin. This goes into an external amplifier circuit and then on to the speaker. Many development modules for EVE include the amplifier on the PCB and either an on-board speaker or a connector for an external speaker. Here are some things to check:

  • Check all connections and that the external speaker (if used) is of a suitable impedance for the amplifier used
  • Check that any jumpers on the board are set to power up the amplifier
  • Check that the power source used has sufficient current capability (due to the display backlight and audio circuit, the overall display module can require quite a lot of current, often several hundred milliamps or more)
  • Ensure the audio amplifier is not in the power-down state. Many evaluation modules have a power-down signal controlled by a GPIO line on EVE to power down the amplifier when not used. Check that the GPIO and GPIO Direction registers in EVE have this GPIO line set as output and to the correct state to enable the amplifier.
  • Ensure the volume has not been turned down. Volume is controlled by REG_VOL_SOUND for sounds and REG_VOL_PB for playback of audio. A value of 0xFF is highest whilst a value of 0x00 is muted.
What audio format does EVE support?

EVE supports audio wave playback for mono 8-bit Linear PCM, 4-bit ADPCM, and μ-Law coding format at sampling frequencies from 8kHz to 48kHz.

What is EVE’s audio output?

The audio output is a PWM signal that goes through 3 stage of filtering to generate the final analogue audio signal. The signal to noise ratio is 46db.

Is audio output mono or stereo?

The output audio from EVE is mono.

What is the audio output sampling rate?

48KHz, up sampled if source is not 48Khz.

Does EVE support digital audio volume control?

Yes, EVE has 8 bit resolution volume control.


MCU FAQs -General

Can the IDM2040-43A be interfaced with RS232 or RS485 based systems?

Yes, the IDM2040-43A incorporates a Raspberry Pi RP2040 as its host MCU which includes a pinned out UART interface. This interface can be used in conjunction with our IDM-RS232 and IDM-RS485 daughterboards to provide RS232 and RS485 connectivity to the IDM2040-43A.

I wish to use the BT880 in a new application, what screen LCD sizes does the BT880 support?

The BT880 supports a wide variety of LCD screen sizes through customisable display setting registers, popular LCD sizes supported include: QVGA (320*240)​, WQVGA (480*272) and HVGA (480*320) resolutions.​ The maximum number of pixels supported per line is 2048, allowing for the use of Bar-Type displays with the BT880 such as 800×160 or 1024×120 resolutions. If you have any queries concerning LCD support for the BT880 please contact support.emea@brtchip.com

I can see a Sine wave on the Audio_L pin of the BT81x even when I play no audio. How can I disable this?

The audio out pin will normally output a carrier wave even when no sound is being played. To stop this, you can play the MUTE sound by writing 0x60 to the REG_SOUND register.

I need a portrait screen orientation for my new design, can I use the VM880C to develop it?

Yes, the VM880C is ideal for prototyping your new portrait or landscape oriented application. The VM880C uses the new BT880 Display/Touch/Audio controller from Bridgetek.

The BT880 includes a screen rotation feature. By calling the CMD_SETROTATE, you can set one of seven different screen orientations. Therefore, you can use a landscape panel in a portrait orientation without any complex software-based rotation.

CMD_SETROTATE will rotate both the screen content and the resistive touch and so you can have the full touchscreen functionality in each different orientation. The screen can also be rotated by writing the same value direct to REG_ROTATE but this does not rotate touch, and so using CMD_SETROTATE is recommended.

The CMD_SETROTATE offers the following options:

0 is for the default landscape orientation

1 is for inverted landscape

2 is for portrait

3 is for inverted portrait

4 is for mirrored landscape

5 is for mirrored inverted landscape

6 is for mirrored portrait

7 is for mirrored inverted portrait

Which applications should we select the new BT880 and BT881 for?

The BT880 and BT881 are a new series in the EVE family of devices which are ideal for applications using displays of up to 4.3” and 5”. With many of the features of the FT81x series such as screen rotation for portrait orientation, they offer a cost-effective solution for applications using screens with resolutions such as 480×272, 320×480 and 320×240. The BT880 and BT881 offer a 6+6+6 18-bit RGB interface with resistive (BT880) and capacitive (BT881) touch.

How do I easily view debug print outputs on the MM900EV modules?

The MM900EV modules provide an easy way to evaluate the FT90x series of microcontrollers. It is recommended to use the UMFTPD2A module along with your MM900EV module so that you can carry out debugging and flash programming from the FT900 Toolchain. We also provide a wide range of examples which are installed with the toolchain. Many of these examples provide debug print outputs via the UART of the FT900 and some examples (such as the UART ones) send and receive data over the UART. One easy way to receive and send data over the UART is to use the spare UART port on the UMFTPD2A. This uses channel 3 of the on-board FTDI FT4232H USB-serial interface.

You can connect the UART lines from the MM900EV1B to the lines on the UMFTPD2A J2 connector.

Using the MM900EV1B as an example, and using UART0 on the FT900, the connections would be:

UMFTPD2A J2 pin 1 (GND)                           to                            MM900EV1B CN3 pin 2 (GND)

UMFTPD2A J2 pin 2 (CTS#)                          to                            MM900EV1B CN3 pin 8 (RTS#)

UMFTPD2A J2 pin 3                         (leave unconnected)

UMFTPD2A J2 pin 4 (TxD)                            to                            MM900EV1B CN3 pin 6 (RxD)

UMFTPD2A J2 pin 5 (RxD)                            to                            MM900EV1B CN3 pin 4 (TxD)

UMFTPD2A J2 pin 6 (RTS#)                          to                            MM900EV1B CN3 pin 10 (CTS#)


Once the UMFTPD2A is connected to the PC and ready (showing under Universal Serial Bus Controllers and Ports sections in Device Manager) you can open port C from a standard terminal program such as PuTTY. The module will normally appear as four consecutive COM ports e.g. USB Serial Port (COM4) to (COM7). The spare UART port C will normally be the third one and so COM6 in this example. Set the baud rate to match the one used in the FT900 example code and open the port and you can now easily communicate with the UART without needing a separate serial device.


Do these MCUs replace VNC2?

No, this has no impact on VNC2. We see all families offering excellent value with the common thread that they possess key USB features.

  • VNC2 offers 2 x USB2.0 Hi-Speed ports which can be configured as Host or Device
  • FT51A offers USB device and hub functionality
  • FT900 provides 1 x USB2.0 Hi-Speed host and 1 x USB2.0 Hi-Speed device.

Needless to say, with the FT51A and FT900 we have targeted high performance with features that are key to overall system value.

The FT900 and FT51A provide complete library API source code, unlike the VNC2, giving more flexibility to the developer.

Is full register access available with these devices?

Yes. The FT51A is fundamentally an 8051 and the register map reflects that. This should enable a small learning curve for customers already familiar with 8051 designs.

The FT900 is all Bridgetek proprietary, but the register map as well as sample code and drivers are available. The FT32 core technical manual is available under NDA.

Why did you choose Eclipse tools?

Eclipse was chosen as an industry known, open source IDE that we can simply expand with our plug-ins for the debugger /firmware upload features. So it’s free for all to use.

Expanding an existing tool enables a faster time to market, whilst also presenting a familiar interface for existing Eclipse users again making the learning curve for these new devise shorter and shallower.

If you are looking for a more mature environment, please see the tools available from MikroElektronika. They will provide hardware and an IDE (Integrated Development Environment) for both the FT51A and FT900 devices.

Why do FT51A and FT900 use different compilers?

GCC which is used for FT900 does not support FT51A devices. Hence different compilation tools were required (FT51A uses SDCC). However both can be used with the Eclipse IDE.

What is the cost of all Bridgetek tools for FT90x/FT51A?

The only price you will have to pay is for the IC itself and the development modules, if required. The IDE, API library, example code and technical support is totally free enabling quick application development!

Do Bridgetek provide source code for the driver API functions?

Yes, full source code is provided to allow users full control and allows modifications for example. Users simply have to include the source file into their project to over-ride the pre-built library.



What are the different package options for FT51A?

44 pin LQFP and 48 pin WQFN = Full spec (1 x USB upstream, 1 x USB downstream, 16 digital pins, 16 analog pins)

28 pin SSOP and 32 pin WQFN = Reduced spec (1 x USB upstream, reduced digital and analog pins)

Note: Firmware can change the pin mapping through IOMUX programming.

What is special about your FT51A vs any other 8051 based design?

Firstly the 8051 core we have selected is one of the fastest currently available.

Secondly with the package options we offer from 28 pin SSOP to 48 pin QFN, we offer excellent choices for board area and cost.

Third is the USB hub feature, which you will not find elsewhere. This allows for cascading FT51A devices creating a network of sensors and control boards or connecting alternative USB peripherals to your 8051 core.

What are the key application areas for FT51?
  • USB Data Acquisition
  • General Purpose Microcontroller
  • Sensor control
  • Mass data storage for medical, industrial and test instrumentation
  • USB to RS232/RS422/RS485 Converters
  • POS Systems
  • Fitness Equipment
  • Smart Home Control
  • Weather Station
  • Keyboard with USB mouse port
  • USB Barcode Readers
What hardware do you provide?

We provide FT51A Modules which includes evaluation modules and debugger module.

What is the best way to manage software updates if the FT51A is out in the field?

The FT51A can provide a USB DFU interface, meaning that if you connect the USB device controller to a PC, you can use some simple software to update the firmware over USB, meaning that additional programming hardware is not required.

The “blank” chip Bridgetek ship includes a DFU code programmed. However example source code is available to allow users to add this DFU interface to their application code.

What is the USB class of the FT51A internal hub port?

This is user defined as it depends on firmware. We provide plenty of examples at FT51A Examples, also provided with the toolchain.

What is the power consumption of FT51A?

Operating Supply Current in normal operation (48MHz): 20mA typical (maximum 28mA).

Operating Supply Current in USB Suspend (internal clock stops): 150uA typical.

Any restrictions to the operating system?

There is no OS needed for FT51A.

Can I connect FT51A with EVE?

Yes, we provide a couple of examples which connect FT51A with EVE. Source code is available with the FT51A toolchain:

  • FT51A Sensors Example
  • FT51A Spaced Invaders Example.

MCU FAQs – FT90x

Why did you create your own core for the FT900, instead of using proprietary stuff e.g. ARM?

We saw performance as a feature that could differentiate Bridgetek Chip from others in the market, especially in applications such as multimedia. The FT900 is a true 0 wait state solution even at maximum core clock speed (100MHz) offering performance of 3.1DMIPs/MHz. As a result, designers can have a blazing fast chip coupled with excellent connectivity options, Ethernet, USB, CAN bus, as well as a camera interface.

What are the different package options and benefits for FT900?
Package: QFN/LQFP CAN Ethernet Camera SD I2S Others*
FT900Q/FT900L 100/100 Y Y Y Y Y Y
FT901Q/FT901L 100/100 Y Y Y Y Y
FT902Q/FT902L 100/100 Y Y Y Y Y
FT903Q/FT903L 100/100 Y Y Y Y
FT905Q/FT905L 76/80 Y Y Y
FT906Q/FT906L 76/80 Y Y
FT907Q/FT907L 76/80 Y Y
FT908Q/FT908L 76/80 Y

No CAN – reduces cost (no licence)

No Ethernet – reduces power (has dedicate regulator)

No Camera/SD/I2S – reduces pin count

*USB Host, USB Peripheral, SPI, UART, ADC, DAC, I2C, PWM, RTC, Timers/Watchdog, Interrupt Controller

What hardware do you have?

We provide FT90x Modules which includes evaluation modules and debugger module.

EVE 2 Modules easily connect FT900 with EVE.

What are the key application areas for the FT900?
  • Home Automation Systems
  • Home Security Systems
  • Enabling Hi-speed USB Host or Device capability within an Embedded product
  • Set-top box applications (e.g. USB tuner)
  • Industrial control and medical system applications
  • Embedded Audio applications
  • IP-Camera
  • VIOP phone
  • Data acquisition systems
  • Industrial Control
  • MP3 Player
The FT900 supports the I2S bus interface, what is I2S?

I2S (Inter-IC Sound), is a serial bus interface standard used for transferring digital audio.

What is the power consumption of FT900?

Power down current – 700uA (approx.)

Idle current – 42mA (approx.)

Normal operating current – 100mA (varies depends on what peripherals are being used)

Who are biggest competitors?

32 bit MCU / ARM –typically TI, ATMEL, ST products.

Will it work with an accelerometer?

Yes, an accelerometer is just a peripheral chip like any other.

Any restrictions to the operating system?

An open source real time OS FreeRTOS is available.

Do Bridgetek provide an Ethernet stack for the FT90x? I see there is mention of a USB stack but no Ethernet stack.

Bridgetek have ported lwIP to the FT90x.

lwIP (lightweight IP) is a widely used open source TCP/IP stack designed for embedded systems.

This is available with some example Ethernet bridging applications in the FT90x Examples page.

Can the USB Controller on the FT90x Host other FTDI devices like FT-X and FT Series?

Yes, Bridgetek have produced an example FT90x UART to FTDI’s FT232 Host Bridge application.

This example demonstrates bridging an FTxxx class device (e.g. FT232R, FT-X Series) present on the FT90x USB host port to a UART interface, with data transferrable in both directions.

Note: since the USB commands that are used in order to control FTxxxx devices would be exposed, the library is provided as precompiled.

Are there any examples of using FT90x with EVE?

Bridgetek have produced examples showcasing how to use EVE with various host controllers including the FT90x.

Please navigate to the Support –> Software Examples –> EVE Projects on our website for more information.

What is the best way to manage software updates if the FT90x is out in the field?

The FT90x can provide a USB DFU interface, meaning that if you connect the USB device controller to a PC, you can use some simple software to update the firmware over USB, meaning that additional programming hardware is not required.

The “blank” chip Bridgetek includes DFU code programmed. Example source code is available to allow users to add this DFU interface to their application code.

Can you emulate an FT232R on the FT90x for example?

The FT90x device can emulate an FTDI D2XX device to the host PC and the data is sent back and forth on the D2XX channel, between a terminal PC application (for example) and the User Firmware application.

The default USB settings like VID, PID, Manufacturer and Serial Number can be changed using the FT900 Programming GUI Utility’s D2XX tab. See AN 365 FT9xx API Programmers Manual and AN 360 FT900 Example Applications for more information.

Can the FT90x be connected to Android?

Yes. Examples are provided which connect to the Android via Android Open Accessory (AOA). This means that the FT90x USB Host enumerates the Android device. See AN 365 FT9xx API Programmers Manual and AN 360 FT900 Example Applications for more information.

What Third Party Support is available?

Bridgetek have been working closely with 3rd party partners in order to offer additional design aids. A collaboration with MCCI® Corporation, a leading developer of USB drivers and firmware for

embedded SoC has resulted in the availability of TrueTaskВ® USB, an embedded USB host stack designed for use with the FT90x MCU product family, and a partnership with MikroE has culminated in providing a comprehensive development environment for the FT90x including compilers, development boards, useful examples for click boards and Visual TFT software support. For more information on MCCI and MikroE please visit www.mcci.com and www.mikroe.com.

MCU FAQs – FT93x

What is the FT93x?

Recently announced at Electronica 2016 is the expansion of the series to include the FT93x, a range of advanced USB to Multi-interface bridging microcontrollers. These are due to launch for sale in full production quantities from Q1 2017, however in advance of this please click here for the draft datasheet.