So I like lots of people have been dealing with this avrdude: stk500v2_ReceiveMessage(): timeout errors.
I have an almost new 3rd party mega 2560 r3 board. prob. only 3 or 4 uploads under its belt. went to upload revised code on my oldish iMac (el Capitan w/ v.1.8.13), then my Older MacbookPro w/Win7 vmware (because arduino throws a different error and wont let me even verify code on OSX) and both machines give up:
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: verification error, first mismatch at byte 0x21c8
0xe0 != 0x83
avrdude: verification error; content mismatch
spent hours reading these forums for solutions to no avail. Decided to download and install the latest IDE on my Windows 10 pro machine with all current updates and after installing all the required libraries (dallas temp, onewire, liquid crystal) I hooked up the mega to usb and uploaded without any issues. I tried it again on my iMac and got the same errors again. Tried once again on the Win10 new install and uploaded without issues. Some very strange something going on.
so my working solution was to do a fresh install on a machine that has never had arduino installed before.