In this section, you’ll find documentation on the STM32Cube USB Device library. This library is offered as part of the STM32Cube suite of free development tools and can be deployed quite easily into any STM32 project using the STM32CubeIDE. Using it, however, isn’t straightforward. Hence the need for this section.
I’ll start with a brief introduction of USB, since you will need to be familiar with a few concepts and terms. It beats reading the 650 pages USB 2.0 specification.