Hi Gentleman, and a very happy New Year to one and all.
I have gone back to basic principles, really by force majeur, over the last few days. I have done so in desperation, as I was rapidly collecting a bunch of various types of Arduinos (mostly clones) that ALL FAILED TO ALLOW ME TO UPLOAD TO THEM. The straw that broke my back was the delivery of 2 brand new Sainsmart Mega2650 Arduinos. I immediately tested them both to see if they would allow me to upload sketches to them.
The first one did - Yippee I thought, only to have my hopes well and truly dashed when the 2nd one returned the same old timeout messages on upload. Now these were both using the same USB cable from my PC, and they both came up with different COM port #s, which I changed in the same sketch I was using to test them with.
I Googled endlessly, I read everything I could on these problems, but to be honest, nobody seems to have actually answered the problem correctly, even though there are a huge number of other hobbyists like myself encountering the same or very similar problems, and just about as many unproven suggestions on how to fix it. None worked in my case
I watched endless UTube videos, even those terrible ones produced in India or similar where there is no soundtrack, just on screen typing on a Notepad window, which drove me nearly nuts.
But finally, I watched a video by an Australian who at first discussed the various (trather neat actually) adpators he had made to connect stand alone chips to a USBASP, and I was just about ready to turn it off as it was not covering what I needed, when he said something that got my attention. He mentioned Nick Gammon, and more interestingly, how he had used Nicks's bootloader sketch to load special bootloaders to his own Arduinos.
I watched on with far more interest, and then paused it at a suitable point, dug out a spare brand new Nano, and uploaded Nicks code onto it, making it my MASTER programming machine.
I thern followed this videos instructions on how to wire the 2 arduinos together, by plopping my apparently faulty new Mega2560 on the other end of the wires as the recipient (SLAVE) You know Mosi, Miso, Clk and Cs, including remembering to connect both GROUNDS, and attach the CS to the RESET inputs on the slave machines.
With great trepidation, I brought up the Monitor window of the Master, followed the instructions provided by Nick software, and when I pressed G, miracle of miracles, it reported that it had worked and put a new bootloader on my brand new but not working mega2560.
Yoweeeee I thought, grabbing it quick and ramming the original and same USB connector into it as used previously (yes, I have lots of USB ports floating around), and clicked the Upload button on the same original sketch.
Yes, you guessed it, the sketch uploaded perfectly, and subsequently ran as it should.
Overjoyed at this success, I put all the other Arduinos that had failed me before (about 8 in all of various types, Mega, Uno and Nanos) in a pile on my desk, connected them one by one as slaves to my new "programming" Nano, and yes, it brought EVERYONE OF THEM BACK TO SOLID WORKING LIFE, just like that.
Apart from installing the CH340 driver because my programming Nano showed up as such a device, these was no fiddling with USBASP, no installing any additional drivers with Zadig,etc etc
So, and with no offence meant to anyone in this forum, as I have no idea why this relatively simple method worked when all other suggestions failed, I can only say that I am eternally grateful to Nick Gammon for his bullet proof code, without which I doubt I would haver ever got my Arduinos to program again.
So many thanks again for all your pre New Year inputs, and I felt you might like to know I am back up and running at fullspeed ahead into this new year, and can get on with my several Arduino based projects again, after several weeks of despondency and inability to get on with my work, and indeed, how I achieved that (with the anonymous australians video help as well of course).
I am again a happy puppy in the world of Arduinos.
Ian