This application note provides information that will aid in the development of firmware for the Cypress CY7C63xxx family of low-speed USB microcontrollers. The intention is to provide firmware developers with some useful insights into the intricacies of the devices. This document is divided into two sections. Section 1 provides general firmware tips and techniques to the firmware developer. Section 2 provides information on how to write firmware routines to perform USB communication.