With respect to the USB protocol, CDC class is used (Communications Device Class) to the communication between the Host (PC) and the device (microcontroller). In order to stablish communication through the PC, a desktop application must be developed; to avoid this and simplified the work, a virtual serial port driver and a terminal that binds to said virtual port is used to send the string of characters to the microcontroller. Although the string is sent via serial communication the virtual driver converts this to USB protocol, which is the one physically used. The terminal used is putty. 

The code is well organized in several files and functions. Each stepper motor has separate function. Although all the material is in spanish it is really intuitive.

The compiler version used is: xc8-v1.34. Newer version may not function with the USB files.

Some links of interest: