I have a DFRobot Gamepad v2.0 which is based on the Leonardo.
According to the Arduino forum, the Leonardo has a problem with uploading that requires a physical reset, explained HERE.
These differences affect the way you use the physical reset button to perform an upload if the auto-reset isn’t working. Press and hold the reset button on the Leonardo or Micro, then hit the upload button in the Arduino software. Only release the reset button after you see the message “Uploading…” appear in the software’s status bar. When you do so, the bootloader will start, creating a new virtual (CDC) serial port on the computer. The software will see that port appear and perform the upload using it. Again, this is only necessary if the normal upload process (i.e. just pressing the uploading button) doesn’t work
In the gamepad product description, it states, "Includes a Turbo button used to reset the controller"
Can someone post a photo of this button to show me where it is on the gamepad, so I can hit reset to try and upload. thanks…