FT51A Toolchain
Note that this series is now under EOL and is not recommended for new designs.
This page contains examples specific to the FT51A 8 bit Microcontroller (MCU) series featuring 16kBytes of program flash and 8kBytes of data RAM for bridging multiple IO interfaces including USB, UART, SPI, I2C and PWM. The projects may be used as reference material to develop further projects or to verify existing hardware functionality.
FT51A DFU Example
Having a USB device port on the FT51A provides the opportunity to create a Device Firmware Update (DFU) interface over USB. This may be very useful for product updates once deployed in the field. The example code in this project demonstrates how a DFU interface may be included in your project.
The source code is available for download here.
While the associated application note explaining the project (AN_344) is available for download here.
FT51A Keyboard Example
Many PC applications like to communicate with USB peripherals as a Human Interface Device (HID) class. This example will demonstrate how the USB port of the FT51A may be configured to appear to a USB host port as a USB keyboard. This could be extended to use GPIO or other functions of the device to provide data emulating a key press from a keyboard.
The source code is available for download here.
While the associated application note explaining the project (AN_345) is available for download here.
FT51A Mouse Example
Many PC applications like to communicate with USB peripherals as a Human Interface Device (HID) class. This example will demonstrate how the USB port of the FT51A may be configured to appear to a USB host port as a USB mouse. This would allow for the creation of control pads, joysticks for a user interface to an application on the USB host PC.
The source code is available for download here.
While the associated application note explaining the project (AN_346) is available for download here.
FT51A Test and Measurement Example
The FT51A is an ideal solution for low cost, low power sensor and control applications such as smart homes or loT controllers. Having a USB device port allows your FT51A enabled design to connect to a host PC over USB with a variety of device classes. This particular example demonstrates connecting over USB with a Test and Measurement Class driver. This integrates well with PC software such as Labview and a sample program to complement the FT51A firmware is supplied here also.
The demonstration works well with the FT51A-EVM which has force, temperature and heart rate sensors built into the module, and is recommended as the test platform with this example.
AN_347 explains the example code and may be downloaded here.
Download the project from here.
FT51A Sensors Example
This example is similar to the Test and Measurement example of AN_347. However, instead of connecting back to a PC to display the sensor readings, the output is displayed on a local full colour TFT display driven by FTDI’s EVE technology, creating a stand-alone sensor reading and display application ideal for medical or retail applications.
Full source code may be downloaded here.
AN_348 which explains the project may be downloaded here.
FT51A Spaced Invaders Example
Many seasoned engineers may remember arcade games before the Playstation or the Xbox came to rule the market. One of those games was an addictive “shoot ’em up” Space Invaders game. In acknowledgement of the great game and to demonstrate the power of the FT51A device, FTDI created the FT51A Spaced Invaders game.
This example demonstrates handling GPIO from a joystick and button whilst also driving a full colour, animated, TFT display via our own SPI peripheral, graphics controllers, the FT810 from the EVE series.
For engineers that have been lucky enough to test this design at various exhibitions FTDI visited or who would like to recreate the design, the source code is available here.
An associated application note AN_349 may be downloaded here.
FT51A Stand Alone Example
Making use of the FT51A-EVM module, the stand-alone demo demonstrates the extensive IO reading and writing capabilities of the FT51A. The demonstration code utilises the development platform’s 3 on board sensors to read and display acquired data. Temperature data is acquired over an SPI interface, while force and heart rate are both accessed via the ADCs. The values are then displayed on a 2 x 20 character LCD. Selecting the sensor data to be displayed is controlled by the button on the board which connects to the FT51A via GPIO.
Full source code for this project is provided as a download here.
AN_354 is the accompanying application note that explains the project and may be downloaded here.