You are here

AN64020 - Creating a FX1/FX2LP™ Composite HID Device | Cypress Semiconductor

AN64020 - Creating a FX1/FX2LP™ Composite HID Device

Last Updated: 
May 28, 2020

This application note describes how to implement a composite human interface device (HID) using FX1/FX2LP™. The example firmware explained here is a two-button mouse and a two-button keyboard function, using the four buttons on the FX1/FX2LP development board. 

The example firmware also has an interface which implements a loopback over bulk endpoint using Endpoint 6 and 8 to emphasize the flexibility and bandwidth capability of the device. This document assumes that the reader is familiar with the HID specification, HID usage tables and FX1/FX2LP. In this application note, the term ‘EZ-USB’ refers to FX1 and FX2LP, except where noted.


The EZ-USB family of chips is usually used in medium to high-end applications. However, in some cases, developers may still choose to create a HID device based on the EZ-USB family because of its ease of programming and ’soft’ RAM architecture. Moreover, driver development is not needed because most operating systems have a native HID driver. Due to these factors, an EZ-USB device can be used under the HID class.