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

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!


  • Big and Small Contest

    Big and Small Contest
  • Make it Glow Contest 2018

    Make it Glow Contest 2018
  • First Time Author

    First Time Author

148 Discussions


3 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 2 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 3 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.


2 days 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.


4 weeks 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

1 year ago


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

2 replies
PacquitoSRick Hubka

Reply 11 months ago

Simply download CH341SER.EXE, install, enjoy.


9 months 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

Reply 4 weeks ago

Do I have to buy an original in order to get " working one"?


7 months 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.

3 replies

Reply 4 weeks ago

I suppose even the best can't always cover every eventually. The baud rate seems so obvious though I don't know why it was missed. I'll try it tomorrow.
I have 3 clones, 1 UNO and 2 Janos. They're all the same. Do I have to buy an original (a working one) in order to be able to burn the bootloader? Can't believe no one spotted this either or is it just me?
I see on the videos that after loading the Chinese drivers, there appears a board named UNO. I don't see this, only Arduino Uno.
I'll keep trying. Thanks.


Reply 3 months ago

Thanks for this! I had to do this and then burn the bootloader and then mine was happy.


2 months ago

Hi there, I just received some nano3 clones, and after CH340 driver installed, Arduino software was not able to upload something.

Getting kinds of "avrdude: stk500_getsync(): not in sync: resp=0x00"

I succeed to send something by setting : Tools > processor > ATMega328P (old bootloader) "

If this can help someone.

Now mine is up and running, let's rock !


3 months ago

Thank you.This was very helpfull.I manage to get working two arduino UNO chinise clones.

I follow the instruction and everything works OK.And i didn't use the capacitor.

1 reply

Reply 3 months ago

Great, Have fun with the projects.


6 months ago

Thanks for this info. My UNO clone now is working perfectly!


Question 9 months ago

Has anyone gotten the CH430's to run on FreeBSD?

Thx for the great tutorial.


Question 10 months ago on Step 7

Hello, I purchase Leonardo clones from Ebay. I need your help to make it work. The board is not recognized when connected to PC. I installed CH341SER and still I cannot find the board in Device manager. Please help me.