Verification Error when uploading to Mega 2560 (clone) board (SOLVED)

Resolved,
You need another working board to do the procedure. I used an Arduino UNO.
see Gammon Forum : Electronics : Microprocessors : Atmega bootloader programmer for instructions

I have been trying to upload the “Blink” sketch for days without success to Arduino Mega 2560 board, any help will be appreciated.

In desperation I tried using PlatformIO with similar results.

I bought the board from here
https://www.aliexpress.com/item/Free-shipping-MEGA-2560-R3-ATmega2560-R3-AVR-USB-board-Free-USB-Cable-for-Arduino-2560/32564461540.html?spm=2114.13010608.0.0.tRIikV

It has a CH340G chip and I have the USB drivers for this installed (my uno and nano clones are working fine).

I’m using MacBookPro 2011, OSX 10.11.6 El Capitan, Arduino IDE 1.8.2 and the board is connected directly to the USB port

OSX can see the board as a USB device:
USB2.0-Serial:
Product ID: 0x7523
Vendor ID: 0x1a86
Version: 2.54
Speed: Up to 12 Mb/sec
Location ID: 0xfd120000 / 3
Current Available (mA): 1000
Extra Operating Current (mA): 0

The IDE is setup as follows:
Board: Arduino/Genuino Mega or Mega 2560
Processor: ATMega 2560 (Mega 2560)
Port: “/dev/cu/wchusbserialfd120”
Programmer: AVRISP mkII

During the upload I can see the tx/rx LEDs flashing and IDE seems to be progressing as normal until verification stage and I get:
avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x06
avrdude: verification error; content mismatch

avrdude done. Thank you.

the selected serial port
does not exist or your board is not connected


Full output from the IDE is below
Arduino: 1.8.1 (Mac OS X), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

Sketch uses 1462 bytes (0%) of program storage space. Maximum is 253952 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 8183 bytes for local variables. Maximum is 8192 bytes.
/Users/…/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/bin/avrdude -C/Users/…/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/cu.wchusbserialfd120 -b115200 -D -Uflash:w:/var/folders/pg/9458rhk53dv074p8443rj4r00000gn/T/arduino_build_496919/Blink.ino.hex:i

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:01:35
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is “/Users/…/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino9/etc/avrdude.conf”
User configuration file is “/Users/…/.avrduderc”
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/cu.wchusbserialfd120
Using Programmer : wiring
Overriding Baud Rate : 115200
AVR Part : ATmega2560
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00
flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Wiring
Description : Wiring
Programmer Model: AVRISP
Hardware Version: 15
Firmware Version Master : 2.10
Vtarget : 0.0 V
SCK period : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file “/var/folders/pg/9458rhk53dv074p8443rj4r00000gn/T/arduino_build_496919/Blink.ino.hex”
avrdude: writing flash (1462 bytes):

Writing | ################################################## | 100% 0.43s

avrdude: 1462 bytes of flash written
avrdude: verifying flash memory against /var/folders/pg/9458rhk53dv074p8443rj4r00000gn/T/arduino_build_496919/Blink.ino.hex:
avrdude: load data flash data from input file /var/folders/pg/9458rhk53dv074p8443rj4r00000gn/T/arduino_build_496919/Blink.ino.hex:
avrdude: input file /var/folders/pg/9458rhk53dv074p8443rj4r00000gn/T/arduino_build_496919/Blink.ino.hex contains 1462 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.43s

avrdude: verifying …
avrdude: verification error, first mismatch at byte 0x0000
0xff != 0x06
avrdude: verification error; content mismatch

avrdude done. Thank you.

the selected serial port
does not exist or your board is not connected

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.

Some people have cleared this by burning the bootloader.

Since you have a Uno and a Nano you could use this to re-burn.

http://www.gammon.com.au/bootloader

Cheers, I will have a go at it.

Burning bootloader solved the problem thanks buddy.