Getting Started with Embedded Video Engine (EVE)
What is EVE?
The Embedded Video Engine (EVE) is an innovative graphics controller from Bridgetek, supporting full colour Graphics, Touch and Audio output all in one IC!
Think of it as a Graphics card with Touch Screen and Sound for almost any Microcontroller (MCU). Connect EVE to your preferred MCU via SPI (or Quad SPI) to easily add a full-colour graphical touch screen to your design.
Ideal for updating older designs to a much more modern and user-friendly interface, and for creating great user interfaces for new designs.
- Graphics – Enhance your product’s user interface by adding a colour graphical display
- Touch – Create an even more intuitive and user-friendly interface by adding touch screen control
- Audio – Play a wide range of audio tones with almost no extra work for the MCU
Get started quickly with EVE! Use one of our development modules which have everything on-board.
Why use EVE?
Traditional user interfaces (such as mechanical push buttons, LED indicators, alphanumeric displays and custom-designed segment displays) can impose a lot of limitations when designing your interface, forcing you to make compromises in terms of layout, appearance, usability and flexibility.
The benefits of using a touch-enabled graphics display are widely recognised, but many engineers see them as just too challenging to add to their design.
With EVE, we make it easy for you to design the user interface exactly the way you want, and to improve the user’s experience and perception of your product at the same time.
Using EVE as a separate graphics controller connected to your MCU brings many advantages compared to MCUs with built-in graphics capability.
The EVE Family
The use of colour graphical touch screens has evolved over the years, and so has EVE! Our 4th Generation EVE (BT817, BT818 and BT817A) have even more features based on evolving market trends (such as larger screens and more complex on-screen user-interfaces) and feedback from our customers. However our earlier generations are ideal for a wide range of application especially smaller screens and cost sensitive applications.
Features | FT800/FT801
(EVE) |
BT880/BT881 | BT882/BT883 | FT810/FT811
(EVE 2) |
FT812/FT813
(EVE 2) |
BT815/BT816
(EVE 3) |
BT817A/BT817/BT818
(EVE 4) |
BT820
(EVE 5) |
---|---|---|---|---|---|---|---|---|
Target Display Resolution | QVGA (320*240)
WQVGA (480*272) |
QVGA (320*240)
WQVGA (480*272) Bar-Type display e.g. 800*160, 1024*120 |
QVGA (320*240)
WQVGA (480*272) Bar-Type display e.g. 800*160, 1024*120 |
HVGA (480*320)
VGA (640*480) WVGA (800*480) SVGA (800*600) |
HVGA (480*320)
VGA (640*480) WVGA (800*480) SVGA (800*600) |
HVGA (480*320)
VGA (640*480) WVGA (800*480) SVGA (800*600) |
WVGA (800*480)
WSVGA (1024*600) WXGA (1280*800) |
WVGA (800*480)
WSVGA (1024*600) WXGA (1280*800) WUXGA (1920*1200) |
Max Pixels Per Line | 512 | 2048 | 2048 | 2048 | 2048 | 2048 | 2048 | 2048 |
Display Interface1 | RGB666 | RGB666 | RGB888 | RGB666 | RGB888 | RGB888 | RGB888 | LVDS Tx |
Touch Function | 800 – Resistive
801 – Capacitive |
880 – Resistive
881 – Capacitive |
882 – Resistive
883 – Capacitive |
810 – Resistive
811 – Capacitive |
812 – Resistive
813 – Capacitive |
816 – Resistive
815 – Capacitive |
818 – Resistive
817 – Capacitive |
Capacitive |
Custom Touch2 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
Audio Output | PWM | PWM | PWM | PWM | PWM | Sigma-Delta | Sigma-Delta | Sigma-Delta and I2S Stereo |
Host Interface | SPI/I2C | SPI/QSPI | SPI/QSPI | SPI/QSPI | SPI/QSPI | SPI/QSPI | SPI/QSPI | SPI/QSPI |
90o Screen Rotation3 | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Object Memory Size4 | 256 kB | 256 kB | 256 kB | 1 MB | 1 MB | 1 MB | 1 MB | Up to 8Gbit external DDR3 SDRAM |
External Memory Support5 | No | No | No | No | No | 256 MB | 256 MB | NOR/NAND/SD Card |
Adaptive Frame rate6 | No | No | No | No | No | Yes | Yes | Not Required |
Adaptive HSYNC7 | No | No | No | No | No | No | Yes | Not Required |
Dedicated PCLK PLL8 | No | No | No | No | No | No | Yes | Yes |
2X Pixel Mode9 | No | No | No | No | No | No | Yes | Yes (2X and 4X Pixel Modes) |
Non Square Pixel10 | No | No | No | No | No | No | Yes | No |
Co-Processor | 32-bit RISC 48MHz | 32-bit RISC 60MHz | 32-bit RISC 60MHz | 32-bit RISC 60MHz | 32-bit RISC 60MHz | 32-bit RISC 72MHz | 32-bit RISC 72MHz | 32-bit RISC 72MHz |
Image Decoder11 | DXT1, JPEG | DXT1, JPEG, PNG | DXT1, JPEG, PNG | DXT1, JPEG, PNG | DXT1, JPEG, PNG | DXT1, JPEG, PNG, ASTC | DXT1, JPEG, PNG, ASTC | DXT1, JPEG, PNG, ASTC, YCBCR encoder/decoder |
Hardware Acceleration | No | JPEG | JPEG | JPEG | JPEG | JPEG, ASTC | JPEG, ASTC | JPEG, ASTC, INFLATE/PNG, YCBCR |
Video Playback | No | Motion JPEG | Motion JPEG | Motion JPEG | Motion JPEG | Motion JPEG | Motion JPEG | Motion JPEG |
Animation Playback | No | No | No | No | No | Yes | Yes | Yes |
GPIOs | 3 | 3 | 4 | 3 | 4 | 4 | 4 | 16 |
Package | QFN48 | QFN48 | QFN56 | QFN48 | QFN56 | QFN64 | QFN64 | LFBGA329 |
Frame Buffer12 | No | No | No | No | No | No | No | Yes (in external DDR3) |
Video Input13 | No | No | No | No | No | No | No | LVDS Rx (up to 1920×1200 60fps) |
Footnotes:
1 For device with RGB display interfaces, the maximum number of bits is shown e.g. devices supporting RGB888 have 8 red, 8 green and 8 blue lines. The BT820 has an LVDS Tx interface for direct connection to LVDS displays.
2 Custom touch code can be loaded into EVE to use I2C touch screen controllers which are not directly supported. Ideal for applications requiring toughened and splash-proof touch displays etc. see BRT_AN_090 for more details.
3 Use a single command to rotate the screen image and touch to one of 8 orientations. Use a landscape screen in portrait orientation easily to suit your product’s form-factor.
4 This is RAM_G, used for storing images and fonts so that EVE can display them. For example, a 480×272 image may take 130,560 bytes in RGB332 format or 261,120 bytes in RGB565 format. The BT820 has a much larger RAM size which is used for frame buffer as well as general asset storage.
5 Directly attach a NOR Flash chip to EVE, and store large images, fonts, videos and animations there instead of on the MCU’s flash. EVE has commands to program, update and read the flash.
6 Allows EVE to work with larger screens and in applications with more on-screen content. It pauses PCLK if required to give more time to render graphics. Some displays do not work well with varying PCLK, so this feature can be disabled.
7 Enhanced version of Adaptive Frame Rate added to BT817/8. It allows EVE to work with larger screens and in applications with more on-screen content. Extending the scan-out of pixels into the non-visible area of the display allows EVE more time to render graphics.
8 This feature allows a greater range of PCLK rates to be generated and so allows support of a wider range of displays.
9 This feature works internally to EVE, to provide a higher transfer of pixel data. This in turn enables the use of larger displays.
10 Some displays do not have square pixels. Without correction, the image would appear stretched. The Horizontal Scan-out Filter (HSF) feature allows EVE to compensate for this so that display content looks correct and in proportion on these displays.
11 EVE supports compressed image formats in addition to raw images. ASTC offers better image quality with smaller memory usage. On the BT81x ASTC images can be displayed direct from flash but displaying from RAM is recommended.
12 A frame buffer holds the entire video frame in RAM instead of line-by-line rendering. This allows much more complex objects and user interfaces to be rendered on large screens.
13 The video input allows direct video input to EVE without passing through the host MCU. Add live video to your user interface easily. Real-time image processing provides a range of effects and enhancements.
Our latest EVE devices have many performance features to support larger screens. However, our earlier generations are ideal for a wide range of applications especially smaller screens and cost sensitive applications.
Which displays can I use?
With EVE, you can use displays in all shapes and sizes. Configure the display settings easily using EVE’s display registers to suit your display.
Here are just some of the types of displays that you can use:
EVE has RGB outputs but can also driver LVDS screens via an RGB to LVDS conversion IC.
Some displays have a separate serial channel on their ribbon cable which is used for configuration. These displays may need configuration after power-up to set them to RGB input mode. EVE can work well with these displays, but you may need to connect a few additional lines to your MCU to facilitate this mode setting. We recommend checking your display datasheet to confirm if it needs configuration after power-up.
Software Tools and Examples
We have a wide range of software tools and examples to help you get started with EVE. You may prefer to write code in a language such as C or Circuit Python, or you may prefer to use graphical tools to develop your code, or you may prefer a mixture of both.
EVE Software Examples are available on our Github page. They provide a good starting point for developing your application and also demonstrate some techniques to make your user interface even better.
EVE Screen Designer (ESD) is a comprehensive development environment which enables users to build a GUI application using a visual programming method without needing to know any EVE-specific display list commands.
EVE Screen Editor (ESE) is a user-friendly graphical tool that enables users to create screen designs visually without the need for hardware. Lay out your user interface easily and experiment to learn about different graphics techniques.
EVE Asset Builder (EAB) is a Windows-based tool that contains a set of useful utilities to convert and generate resources for EVE series devices such as images, fonts, video, audio and animation.
EVE Development Workflow
This flowchart with interactive links should help you choose the correct tools when designing with EVE.
Choosing a development module
IDM 2040-7A | ME817EV | VM816C50A-D VM816C50A-N | VM816CU50A-D VM816CU50A-N | IDM2040-43A | VM880C | VM810C50A-D VM810C50A-N | VM800C43A-D VM800C43A-N | VM800B35A-BK VM800B43A-BK VM800B50A-BK | |
---|---|---|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
EVE Generation | EVE 4 | EVE 4 | EVE 3 | EVE 3 | EVE 2 | EVE 2 | EVE 2 | EVE 1 | EVE 1 |
EVE Device | BT817 | BT817 | BT816 | BT816 | BT883 | BT880 | FT810 | FT800 | FT800 |
Host | MCU Onboard | SPI/DSPI/QSPI+USB | SPI/DSPI/QSPI | USB | MCU Onboard (RP2040) | SPI | SPI | SPI | SPI |
Display Included | Yes | No | Yes (-D) No (-N) | Yes (-D) No (-N) | Yes | No | Yes (-D) No (-N) | Yes (-D) No (-N) | Yes |
Display | 7″ (800 x 480) | Up to 1280 x 800 | 5” (800 x 480) (-D) Up to 800 x 600 (-N) |
5” (800 x 480) (-D) Up to 800 x 600 (-N) |
4.3” (480 x 272) | Up to 480 x 272 | 5” (800 x 480) (-D) Up to 800 x 600 (-N) |
4.3” (480 x 272) (-D) Up to 480 x 272 (-N) |
3.5” (320 x 240) (35A) 4.3” (480 x 272) (43A) 5” (480 x 272) (50A) |
Display Connector | RGB (50-pin) | RGB (50-pin) LVDS (40-pin) |
RGB (40-pin) | RGB (40-pin) | RGB (40-pin) | RGB (40-pin) | RGB (40-pin) | RGB (40-pin) | RGB (54-pin) (35A) RGB (40-pin) (43A) RGB (40-oin) (50A) |
Touch | Capacitive | Capacitive | Resistive | Resistive | Capacitive | Resistive | Resistive | Resistive | Resistive |
Bezel | No | No | No | No | Plastic Bezel | No | No | No | Plastic Bezel |
Speaker | External (via 4-pin JST connector) | External (via 4-pin JST connector) | External (via 4-pin JST connector) | External (via 4-pin JST connector) | External (via 4-pin JST connector) | On-board Speaker | On-board Speaker | On-board Speaker | On-board Speaker |
Types of Host Connections:
EVE Display Features
Create attractive and intuitive user interfaces with EVE’s extensive graphics features:
- Full colour graphics up to 1280×800 resolution (depending on model)
- Efficient Display Lists define what EVE will draw on the screen
- Use built-in widgets and create custom widgets such as arc gauges
- Text using built-in and custom fonts, ASCII and Unicode (BT81x) support
- Extensive image format support for backgrounds, logos, icons and more…
- Graphic techniques such as alpha blending create unique effects
EVE Touch Features
A touch screen makes the ideal companion to a colour graphical touch screen. Implementing touch is easy with EVE:
- Use Resistive and Capacitive touch panels with minimal external hardware
- Innovative touch system makes adding touch as simple as reading a register
– Tagging: Reports which tagged item is being touched
– Tracking: Reports the relative touch position within a specified area (linear or radial) - Capacitive touch models support up to 5 touches simultaneously
- Built-in calibration command to help make touch calibration easy
- Custom Touch (BT81x) enables support of a wider range of capacitive touch panels
EVE Audio Features
Adding audio is another ideal way to enhance the user interface, and EVE makes it very easy! Sound can be used to acknowledge user touch, to get the users attention and for many other purposes. With EVE, a simple register write allows you to play a wide range of sound effects and EVE will play the sound via the Audio Out pin. You can also play back audio files converted using the EVE Asset Builder tool.
Overcome the many challenges in generating sounds from an MCU:
- Save the time and effort to program and fine-tune sounds with EVE’s library of built-in sounds
- Give users a good impression with more pleasing sounding tones and sounds
- Avoid issues where changes in your MCU code affect the PWM/timer generated audio tones or loading your MCU with sound generation.