See a demonstration of how little has to go right for a USB device to show up in Windows Device Manager or Linux dmesg and understand what that means for troubleshooting USB microcontroller/Arduino projects.
The video I'd mentioned about beginning regarding wasting time looking for drivers: https://youtu.be/UdI7YQkXy5g
00:00 Intro
00:15 Description
00:42 Demoboard overview
01:29 Demoboard circuit details
02:20 USB device enumeration
04:03 Speeds
05:17 Testing In Windows
07:03 Testing In Linux
08:39 Troubleshooting
08:57 Physical connections
09:35 Enable/RESET signals
10:27 A microcontroller seems to be trying to connect
11:19 Designs that try to connect by default