How to Fix Bad Chinese Arduino Clones




About: I like to make stuff in my free time. Especially programming, cooking, electronics etc. Lately I'm making tutorials about stuff I made the last few years.

Have you ever wondered if a cheap Chinese Arduino clone will actually work?
You pay only a few bucks and get the same product. Sounds to good to be true right?

The truth is that some work and some won't. Follow the rest of this instructable and I'll explain you how to make them all work in no time.

Here is where I got my Cheap Arduino clone

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Genuine Arduino and Chinese Clone - the CH340 Chip Problem

I use an Arduino Uno for this example but it is the same process for most Arduino models.
So here we have a genuine Arduino and a Chinese clone. Let's do the test.

My Arduino environment has been installed and is working properly. First I plug in the genuine Arduino. Everything works just fine. Now I use my cheap Chinese copy and.... the computer does not recognise the hardware.

The problem is that the clone does not use the standard serial to usb chip but a chip marked CH340. Your computer will not recognize these CH340 chips on your computer. To fix this is very easy.

Step 2: Download Software

Download the manufacturer software and istall it on your computer. This software will work for all versions of windows.
Here is the link:

This instructable is based on pc but here is a link for a solution for Mac users:

Now plug in your Chinese clone and try again. It should work just fine.

The board should be visible now in the Arduino IDE and ready to use.

I upload the blink sketch to the board and it all works.

In some cases the board might still not work. This is because there is no bootloader installed on the Atmel microcontroller ship. To solve this problem we need a working Arduino and the clone Arduino we want to fix.

Step 3: Make an ISP Programmer From Your Working Arduino

First we connect the working Arduino to our computer and open the Arduino IDE.

We go to File -> Examples and click ArduinoISP and upload this to the Arduino. Ones uploaded disconnect the Arduino.

Step 4: Connecting the Wires

Next we connect the wires from the working Arduino to the clone as follows.

Pin 10 goes to reset pin 11 goes to 11,

pin 12 to 12,

pin 13 to pin 13.

5v to 5v and ground to ground.

Connect a 10 uF capacitor between reset and ground on the working Arduino.

Step 5: Burn the Bootloader

Next we connect the working Arduino with a usb to the computer.

Go to Tools -> Board and select the chinese board that is not working. in my case it's an Arduino Uno.

Next we go to Tools again -> Programmer and select Arduino as ISP.

Go to Tools again and select "Burn Bootloader".

Go back to Tools -> Programmer and set back to ArduinoISP.

Your clone should work just fine now.

Step 6: Contribute

Arduino is great software an completely free to use.

If you are buying Chinese copies of the Arduino controller, consider making a donation to support the Arduino software. Here is a link.

Step 7: Final

If this instructable was helpfull for you, please click the favorite button.

Comments and suggestions below.

Also check out my 2$ ARDUINO INSTRUCTABLE here.

See you in the next instructable.

Tom Heylen


Donate to help me keep doing this work:

2 People Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

157 Discussions


4 years ago

These are the direct words of Mazzimo Banzi, co-founder of Arduino in his book, page 1: "Getting Started with Arduino, 2nd Edition":

"Arduino is different from other platforms on the market because of these


>> It is open source hardware and software—if you wish, you can

download the circuit diagram, buy all the components, and make your

own, without paying anything to the makers of Arduino."

I do not need to say anything further.

2 replies

Reply 3 years ago

You are correct that one need not pay them anything. The suggestion to contribute to them was that in supporting them in their open source will hopefully insure that they will be able continue to give such great quality projects in the future.


Reply 4 years ago

Thanks for your post. This should make things clear.

For those who want to support The Arduino software.
Step 6 in this instructable contains a link to make a donation to the Arduino software.


Question 5 weeks ago on Step 3

Hi tom.
I have a clone arduino uno with ch340g. It works well. But it dosnot recognize sd card module. The 11~13 pins works as output. Please help me. Thanks


2 months ago

tried but no sucess!!
avrdude: Device signature = 0xffffff (probably .avr8x_mega)
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.


6 months ago

Fantastic :)
I bought a cheap UNO some months ago and didn't realise that there could be an issue until I tried using it a few days ago. I've wasted hours messing with it.
Now I've seen your video and followed your steps. Its working....
I'm still rubbish at programming though :)

Many Thanks


1 reply

Reply 6 months ago

Good to hear fellow. You'll never finish learning to code. The crazier your ideas, the crazier your code. Keep rocking! Cheers


6 months ago

It's not proper to say "clones" as Arduino itself is open sourced. As long as the board is not called "arduino" anyone can reuse the design and sell


7 months ago

I did the procedure, it seems that everything went well, but the parallel arduino is still unrecognized. Someone has information on whether this CH340 chip can work on USB 3.0 ports, I only have this type of connection and when the Chinese arduino is connected directly to the usb, the CH340 chip gets very hot, to the point of burning the finger, and windows only recognizes an unknown drive.


10 months ago

Thank you for this great article. However when I run the install of ch351 exe I get "Driver install failure!" - any idea what causes this/how to fix? I am running Windows 10 Pro (64bit) on a Dell laptop. Thanks again.


11 months ago

I have similar problem with MEGA 2560 R3, L LED is blinking but cannot upload any sketch.

I tried to burn bootloader from a New MEGA 2560 R3 and get this error:

avrdude: Expected signature for ATmega2560 is 1E 98 01
Double check chip, or use -F to override this check.

I tried using ICSP interface.

Can any help me?? Only I have available two Arduino Mega (If wiring is wrong)

I used PIN10 to RESET and PINs (MISO, SCK, VCC, MOSI and GND) from ICSP and capacitor between RESET and GND (on programmer)

worng arduino can work with last sketch uploaded but I cannot upload anymore....

Rick Hubka

2 years ago


I bought several clones on AliExpress. Installing
CH341SER.EXE fixed my problems with COM port uploading.
Win 10 Pro x64

2 replies

1 year ago on Introduction

Tom - a BIG thanks for this info. I got a 5-pack, none are working. Will use you procedure and should be up in no time!

Best Regard - Alan R.

1 reply

1 year ago on Step 7

I have just spent half an hour trying to get access to my CH340-based Arduino clone from Windows 10. I finally got it to work by setting the baud rate in the driver.

Open device manager, find the correct port, right-click it and open Properties. Select the Port Settings tab.

In my case, the Baud rate was 9600. I set it to 115200 and could finally access my device. See attached screenshot.