FT90x Software Examples

This page contains examples specific to the FT90x 32 bit RISC Microcontroller (MCU) series featuring true Zero Wait State operation and speeds of up to 3.1 DMIPS. The projects may be used as reference material to develop further projects or to verify existing hardware functionality.

FT90x USB Audio Device

This example demonstrates how the FT90x USB Audio devices may be used to  stream digital audio data to a Digital to Audio Convertor. Further details of the functionality may be found in the application note AN_433

The example source code to allow the user to build or modify is available in the .zip file available for download here.

FT90x Ethernet Video Bridge

This example demonstrates how the Ethernet interface may be used to  transfer data received from the camera interface from one FT90x module to another. Further details of the functionality may be found in the application note AN_432.

The example source code to allow the user to build or modify is available in the .zip file available for download here.(Version 1.2)

FT90x Intelligent LED Control

This example demonstrates how the FT900 may be used to interface to a WS2812 intelligent LED controller to manage the colour and brightness of an intelligent LED. Further details of the functionality may be found in the application note AN_371.

Full source code to allow the user to build or modify is available in the .zip file available for download here.

FT90x UART to FT232 Host Bridge

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

Source code to allow the user to build or modify, and required additional library/header files, is provided.

The default UART parameters are 19200-8-N-1 (no flow control).
The default FTxxx parameters are 19200-8-N-1 (RTS/CTS flow control).

The code is provided with the FT9xx Toolchain. More details can be found in AN_360 FT9xx Example Applications, section ‘USBH Example FT232’.

The short example video is available here:

FT90x Telnet UART Bridge

This example demonstrates how a FT90x device with an Ethernet port may be used to bridge data between an Ethernet connection and a UART port.

Data transmitted to the bridge from the remote client is forwarded onto the UART interface of the FT90x, data received on the UART is transmitted to the remote client.

The network interface supports DHCP to obtain configuration information or it can be configured using a web page served by the FT90x firmware.
UART configuration is performed using the same web page.

The configuration is stored in FlashROM on the device.

Third-party open source code is used to implement a TCP/IP stack and a telnet library in this application note:
TCP/IP – lwIP (LightWeight IP) library which has been ported to the FT90x.
Telnet – libtelnet.
Printf – tinyprintf.

Source code to allow the user to build or modify, and required additional library/header files, is available in the .zip file available for download here.

An additional application note, AN_408, explaining the project in more detail is available here.

FT90x UVC Webcam

This example demonstrates how the FT900 may be used to develop a webcam application. The example makes use of the device camera interface to capture the video data and the USB device interface is coded as a UVC class USB device to allow standard applications on the host PC to read and display the video data. A UMFT900EV2A is recommended as a suitable readymade development platform to test the code.

Further details of the functionality may be found in the application note AN_414.

Full source code to allow the user to build or modify is available in the .zip file available for download here (version 1.3)

A short demonstration video is available here:

FT90x Ethernet to GPIO Bridge

This example demonstrates how the Ethernet interface can be used to bridge GPIO to a configurable webpage. In addition, the network information such as the MAC and IP address are retrieved and stored on the external I2C EEPROM

Further details of the functionality may be found in the application note AN_415.
The example source code to allow the user to build or modify is available in the .zip file available for download here.

FT90x Camera to EVE (+EVE2)

Application note BRT_AN_018 describes a display showing video obtained from a camera module with an FT90x device and an FT81x. The display also shows a graphical overlay for the camera output to resemble a car reversing camera. There is no need to connect the device to a host computer, apart from programming the FT90x, as the application runs standalone. The camera is attached to the FT90x device. The FT8xx device controls the TFT display.

Click here to download the associated source code that supports BRT_AN_018.

FT90x Ethernet LED Control

In an increasingly connected world, more and more devices are going online. To enable online connectivity typically requires an MCU with Ethernet or Wi-Fi capabilities. To demonstrate the principle, this Application Note BRT AN 032 describes a network device which allows control of 2 WS2812 RGB addressable LEDs. The FT90X device provides an HTTP interface with web-page control over the colour and brightness of 2 LED devices. An UPnP device is implemented to facilitate discovery.

Full sample code for the project may be downloaded here

FT90x Secure Ethernet Access

When connecting smart devices to the internet or the cloud, security is a vital factor. BRT_AN_041 describes how the FT90X can support secure sockets and connect to a web server in a scenario similar to that which might be employed in IoT designs. This example is designed to showcase how the FT90X could be used as the basis of a bridge between an IoT Sensor and the cloud while maintaining data security.

Example code to support BRT_AN_041 may also be found here

FT90x UART to USB BOMs Memory Bridge

This example demonstrates an FT90x device bridging its UART interface to a USB BOMs Memory device like a flash stick. The flash stick can be controlled via the UART interface through a series of commands. This allows:

  • Control of a flash stick connected to the FT90x USB Host port via UART0
  • Use various file, directory and other commands to create, edit and read to the flash stick.
  • Enable a USB DFU interface to allow for firmware upgrades over the USB peripheral interface.

Further details of the functionality may be found in the application note BRT_AN_031.
Full source code to allow the user to build or modify is available in the .zip file available for download here.

FT90x I2C EEPROM Utility

This example demonstrates how the Ethernet interface can be used to bridge I2C to a configurable webpage. The example allows for reading and writing blocks of the I2C EEPROM memory on the FT9xx Modules.

In addition, the network information such as the MAC and IP address are retrieved and stored on the external I2C EEPROM.

Further details of the functionality may be found in the application note AN_419 FT90x I2C EEPROM Utility.

Full source code to allow the user to build or modify is available in the .zip file available for download here.