Code 10 is a driver problem and you need to look at the board at the smaller chip near the USB port to tell which driver you need.
You also need to rule out USB 3.0 issues
USB 3.0 issues
As far as the USB side of things there is more than enough documented evidence if you take time to search a little.
The reason this aspect seems random is because there are so many factors involved all of which you can find with a little reading.
Quick outline is
-
"Chipset used" There are a lot of vendors of USB 3.0 chipsets.
-
"Ages of chipset" As chipsets are developed and updates even slight changes from the vendor could result in working chipsets not working on some peripherals.
-
"USB 3.0 speeds" not all chipsets and vendors are created equal in this respect and some rely on other components sub systems on a motherboard to make up the differences.
-
Arduinos are not designed as such to work at or on USB 3.0 speeds but depend more on the supposed compatibility of USB which is supposed to have "backward compatibility to USB 2.0 (see 1. 2. 3. above)
USB 3.0 is known to cause issues quite quite a few boards including the 101 depending on its implementation and chipset.
Mine will not work at all with USB 3.0 yet if I place a USB 2.0 powered hub between the board and the computer it works fine.
I would presume you have also tried another cable just to be sure.
If you look in the USB port USB 3.0 usually have a BLUE plastic tab compared to USB 2.0 which can be white or black.
Check the specifications for your model of computer, motherboard or laptop is the most reliable method
Other method which is to check in Device Manager under windows and expand the section for "Universal Serial Bus Controllers" and see if there is anything for USB 3.0 ROOT or HUB.
Please don’t say anything along the lines of “but all these should be standard and backward compatible” or ”I have read the specifications”
Those are simply recommendation’s and not everyone follows them to the letter.
Slow compiles or permission denied under Windows
These are only one aspect of the possible issue.
Add the Arduino directories to your antivirus / anti malware / other security exclusions.
So that would be at least two of the following.
C:\Program Files (x86)\Arduino
C:\Users\yourname\AppData\Local\Arduino15 (depends on IDE install type/location)
C:\Users\yourname\AppData\Roaming\Arduino15 (depends on IDE install type/location)
If you have your sketches set up in a different location it’s also worth adding that directory to the exclusions also.
Additionally if you also use the online IDE “CREATE” the following directories.
C:\Users\yourname\AppData\Roaming\ArduinoCreateAgent
C:\Users\yourname\AppData.arduino-create
If you have installed to a different drive swap the drive letter as needed.
If you also have an unzipped IDE installed that path should also be added to exclusions