g. Can two PIC microcontrollers communicate with each other via USB?

PIC18 microcontrollers only support USB1.1 and USB 2.0 protocols and they can’t take the role of a USB controller. But they can still talk to each other using other protocols. On the other hand, some of more powerful PIC24 and PIC32 microcontrollers support USB 2.0 On-The-Go. This protocol is an enhanced version of USB 2.0 protocol, which allows two devices that both support it to communicate directly.