The dreaded avrdude: stk500 tecv(): programmer is not responding problem

@ all, Please, if you do not have constructive comments, do not comment. Waste of everbody's time including yours.

Sorry for late response.

Yes, I was wrong in statement about XTAL1 pin measurement. It is exactly as DrAzzy explained. Yesterday, I tested a few genuine UNO R3 and Mega R3 boards. The XTAL1 pin shows 0.74V for each one board with low power crystal. As I working with full swing setting in my designs, I've missed the fact described by DrAzzy.

The claim is valid for full swing oscillator - DC voltage measured by DMM is cca Vcc/2. For low power it is much less, like 0.7-0.8V if Vcc = 5V.

Sorry for the mistake.

PS: @kprims and @ieee488, thanks for support.

How is it that the developers of the Arduino ide don't acknowledge this and bring a resolution to the matter once and for all?

  • Because it's really hard. Especially if you want to do three OSes... (For example, I think this is the first time ever that this error has been traced to a bad crystal.)
  • The error message comes from a 3rd party tool (avrdude), not from the IDE itself. The Arduino team has somewhat limited control and expertise when it comes to modifying avrdude (it's a big and complicated program.)
  • If it HAD been fixed, somehow, you wouldn't have noticed, because you downloaded a highly obsolete linux "package" instead of a recent version of the IDE from the correct sources.

How is it that the developers of the Arduino ide don’t acknowledge this and bring a resolution to the matter once and for all?

There isn’t really anything they can do, theoretically, to get more useful output here. All they have is the serial port. They open the port (which should reset the board via the dtr reset mechanism → bootloader should be running), send the characters to start programming - but the bootloader doesn’t give the correct response. That is ALL THE COMPUTER HAS ANY WAY TO KNOW. All it can do is print out what character it received instead of the correct one - it has no other channel to investigate why it didn’t get the right response. It sucks, but I can’t see any path towards a better solution without much more complicated hardware (which would still land you in a similar situation when that wasn’t working right)