Hi, I have been use ST microcontroller as my daily professional project since 2013. and I'm familiar with almost All of its peripheral, Including USB. I will use STM32CubeMx as project generator for this project and using System workbench eclipse as my IDE.
FYI ST micro come with a bunch of example and support on their STM32Cube platform to accelerate our project development. All of its example are already provided for us. Just needed some tweak to implement it to our project.
Lets discuss the detail over chat.
Best Regards,
Rijal