Running the MKR1000, I discovered with a debug statement in USBDeviceClass::ISRHandler() within USBCore.cpp, the handler is called continuously. Executing this statement after enumeration seems to solve the problem. USB->DEVICE.INTENCLR.reg = 0xFF;