I had a same problem with UNO R3 (CH340G) MEGA328P for Arduino UNO R3
On Ubuntu 14.04 I checked the whether the USB chip not recognized, but it looks ok:
~$ dmesg | tail -n 6
[ 3350.417900] usb 2-2: new full-speed USB device number 5 using xhci_hcd
[ 3350.546759] usb 2-2: New USB device found, idVendor=1a86, idProduct=7523
[ 3350.546763] usb 2-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[ 3350.546764] usb 2-2: Product: USB2.0-Serial
[ 3350.547255] ch341 2-2:1.0: ch341-uart converter detected
[ 3350.547996] usb 2-2: ch341-uart converter now attached to ttyUSB0
But the upload went wrong like this:
~$ avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P/dev/ttyUSB0 -Uflash:w:/home/oliver/Arduino_Build/Blink/Blink.hex:i
avrdude: Version 6.0.1, compiled on Oct 21 2013 at 15:55:32
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
User configuration file is "/home/oliver/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: Send: 0 [30] [20]
....
After reading bunch of articles 1, 2, 3, 4, 5, 6 it turned out my bad Chinese Arduino clones does not have bootloader installed on the Atmel microcontroller ship. To solve this problem you need a working Arduino and the clone Arduino we want to fix.
Walk trough who to burn the bootloader: http://www.instructables.com/id/How-to-fix-bad-Chinese-Arduino-clones/
Shortly: Burn the bootloader
- You need a working Arduino
- Connect the working Arduino with a usb to the computer
- Upload
Examples->ArduinoISP
on working Arduino
- Connect the wires from the working Arduino to the clone as follows:
- Pin 10 goes to reset pin
- Pin 11 -> 11, 12 -> 12, 13 -> 13
- 5v to 5v and ground to ground
- Go to
Tools->Board
and select the chinese board that is not working. in my case it's an Arduino Uno.
- Go to
Tools->Programmer
and select Arduino as ISP
.
- Go to Tools again and select "Burn Bootloader".
- Your clone should work just fine now, but don't forget to restore Programmer (set back to ArduinoISP or AVRISP).
My clone board does not had integrated LED on 13 pin :) you need to connect it for Blinking test.