FAQs
EVE FAQs - BT88x
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.
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
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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
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.
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).
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.
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.
FT80X: 256K Bytes
FT81X: 1M Bytes
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.
No, EVE has no MP3 decoder functionality.
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.
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.
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.
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.
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.
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.
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)
No. The output is dependent upon MikroE libraries allowing for an integrated, single source solution to application development.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
When external crystal component is used, the crystal component should be 12MHz.
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.
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.
No. Current devise in the series are designed for RGB only
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.
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.
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.
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.
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
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.
There are 4 power modes that EVE supports.
- Active state – EVE is in full function mode preforming graphic rendering, touch processing and audio processing.
- 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.
- 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.
- 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
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.
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.
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.
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.
Yes, EVE has a PWM output that is used to drive backlight LED drivers. It supports fully on, off and dimming the backlight.
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.
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[] = {
TAG(TAG_HOME),
LINE_WIDTH(48),
BEGIN(RECTS),
COLOR_RGB(0,0,0),
VERTEX2II(4, 4, 0, 0),
VERTEX2II(6+32, 6+32, 0, 0),
COLOR_RGB(255,255,255),
VERTEX2II(5, 5, 0, 0),
VERTEX2II(5+32, 5+32, 0, 0),
BEGIN(BITMAPS),
COLOR_RGB(0,0,0),
VERTEX2II(5, 5, 14, 0),
};
MEMCMD(std1);
}
endframe();
}
The value of “homefade” is affected by touch events on the screen.
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.
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)) {
blank();
while (istouch())
;
VC.wr(REG_PWM_DUTY, 128);
MEMCMD(start_clear);
VC.cmd_text(screen.w/2, screen.h/2, 28, OPT_CENTERX|OPT_CENTERY, “please tap on the dot”);
BLK_START
CMD_CALIBRATE,
0
BLK_END
VC.waitidle();
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));
}
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.
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
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.
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.
https://www.youtube.com/watch?v=BR4wNq6WGkg
Yes. Touch pressure measurement can be detected on FT800/FT810/FT802.
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.
Yes, users can drag a screen slider with a stylus or finger.
Refer to the App Note AN_336 FT8xx-Selecting an LCD Display section 6 for a list of compatible touch controllers.
EVE FAQs – Audio
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.
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.
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.
The output audio from EVE is mono.
48KHz, up sampled if source is not 48Khz.
Yes, EVE has 8 bit resolution volume control.
MCU FAQs -General
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.
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
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.
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
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.
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.
.
You can purchase via our Web Shop and Sales Network.
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.
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.
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.
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.
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!
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.
MCU FAQs – 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.
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.
- 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
We provide FT51A Modules which includes evaluation modules and debugger module.
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.
This is user defined as it depends on firmware. We provide plenty of examples at FT51A Examples, also provided with the toolchain.
Operating Supply Current in normal operation (48MHz): 20mA typical (maximum 28mA).
Operating Supply Current in USB Suspend (internal clock stops): 150uA typical.
There is no OS needed for FT51A.
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
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.
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
We provide FT90x Modules which includes evaluation modules and debugger module.
EVE 2 Modules easily connect FT900 with EVE.
- 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
I2S (Inter-IC Sound), is a serial bus interface standard used for transferring digital audio.
Power down current – 700uA (approx.)
Idle current – 42mA (approx.)
Normal operating current – 100mA (varies depends on what peripherals are being used)
32 bit MCU / ARM –typically TI, ATMEL, ST products.
Yes, an accelerometer is just a peripheral chip like any other.
An open source real time OS FreeRTOS is available.
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.
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.
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.
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.
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.
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.
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
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.