5 Most Common Arduino Nano Clone Problems and Their Solutions

About: i make stuff, like to take projects, ideas, motivation to next level. if you love D.I.Y. and electronics, click on the link in description to get amazed

we all know that Arduino is so important for Hobbyists like you and me, who love to make our own electronics based projects, or say any project, we all want to customize our own projects according to our purpose, but buying an original (genuine) arduino isn't quite possible for everyone. Arduino being open-source, has many copies legally avialable in market to purchase like the one's found on Ebay for around 3$, which is quite reasonable, so these CLONE NANO's are associated with some problems, because of alternate parts being used to make it cheaper, so in this instructable, we will identify and solve 5 major arduino nano clone problems.

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: Video Representation.

here is a video which you can follow for steps and visual representation of settings performed on computer and Nano board.

Step 2: Understanding the Problem Associated to Your Board. (index)

there are 5 main problems associated with clone nano.

1.Missing Serial Communication (CH340) drivers.

when you are unable to select the arduino port on your I.D.E., it would be possibly because of missing drivers.

2.Improper Port selected.

when you don't select proper port on which your arduino is connected to, you would find that your code in IDE isn't uploading. also it shows error " programmer isnt responding "

3.Improper Board Settings.

when you haven't selected the required settings on I.D.E., you would observe this problem of code not getting uploaded on your arduino clone.

4.Missing Bootloader.

even after applying all settings properly, when you cant upload your code, its possibly because of missing bootloader on your Atmega328p chip.

5.Static Damaged.

even after setting everything perfectly fine, with Boot-Loader installed, if you cant upload your code, that means your board has faced some serious static damage while shipping.

Step 3: Missing Serial Communication Drivers (CH340 Drivers)

the arduino nano ( genuine) version, has a FTDI's FT232Rl serial communication chip, which is replaced with similar chinese version of serial communication chip called as CH340, which isnt recognized by our drivers, beacuse windows doesnt has this CH340 drivers preinstalled.

to fix this problem,

1. got to the website

http://www.wch.cn/download/CH341SER_ZIP.html to download the drivers,


this is official website, but it is in chinese, you can google CH340 drivers for alternative english website for downloading the CH340 drivers.

2. Install Drivers.

depending on your Operating System on computer, select the version x32 or x64 drivers, then click install.

3.Check if Board is Discovered.

now once you have installed the CH340 drivers, check if the IDE discovers your device, means the port option will now be available to select.





once the port option is available, try to upload the blink example from the IDE>File>Example>Basic>Blink, if the code is uploaded successfully, it means that you are good to go, your arduin nano clone is set successfully.

if not, follow the steps further.


Step 4: Improper Port Selected

when you select improper port on IDE, you would still be unable to upload your code on arduino, in that case, you should follow these steps.

1. press windows button.

2. open the device manager.

3.Expand ( Ports and LPT).

4.select USB-Seial CH340

when you open the USB-Serial CH340 port, the COM port number will be mentioned there.

5.open IDE

under Tools> Port> select your port number which you found out from the device manager.

6.Test Program

upload BLINK example from the basic category under examples, upload the program.







if the sketch is successful uploaded, your board is set and ready to use, if there are errors in uploading, follow the further steps.

Step 5: Improper Board Settings.

when you do not select the proper required board settings, you wouldn't be able to upload any code onto your Arduino board, so copy these settings on your IDE.

1.Select Board.

under tools menu, board option, select the ARDUINO NANO option from the list.

2.Select Processor.

under tools menu, processor option, select the ATmega32p option from the list.

3.Select Port.

under tools menu, port option, select (your com port number) option from the list.

4.Select Programmer.

under tools menu, Programmer option, select "Arduino as ISP" option from the list.




now test your arduino board using the same blink example.



if you still cant upload your code, it is because your ATmega328p is missing BOOT-LOADER, follow the steps further to fix it.

Step 6: Missing BOOT-LOADER

if all the above steps are not working for you, that means your Clone Nano is missing the Boot-Loader.

Bootloader is what makes this ATmega328p chip what we are familiar with as "Arduino",

sometimes the clone arduinos are just copy of hardware and they miss to load the arduino bootloader into the ATmega328p,

so you would require a few things before we bootload this nano

1. working ARDUINO UNO.

2. Male to Female jumper Wires(6).

we will use Master Slave Serial Peripheral Interfacing (S.P.I.) method to bootload the arduino board.

Step 1: Connections

make the connections on arduino uno to nano in the following manner.


pin 1 - D12

pin 2 - VCC

pin 3 - D13

pin 4 - D11

pin 5 - D10

pin 6 - GND


connection diagram and ICP Pin out attached.

Step 2: Open Arduino ISP

from the file menu, under examples, select ArduinoISP example.

Step 3: Copy Settings

copy these settings in the arduino IDE

1. under tools menu, board option, select the ARDUINO UNO option from the list.

2. under tools menu, port option, select (your com port number) option from the list.

3.under tools menu, Programmer option, select "Arduino as ISP" option from the list.

Step 4: Upload the ArduinoISP code on Master UNO

once the above mentioned settings are copied on your IDE, upload the code on your master UNO.

Step 5: Change Target Board

once the example is uploaded, Change the Board type from Aruino UNO to Arduino NANO, keeping the rest settings intact.

Step 6: Upload Bootloader.

once the board type is changed, from UNO to NANO, select the "BOOT-LOADER" option from the tools menu.



you should see serial rx and tx L.E.D. flickering while burning the Bootloader.

once done uploading, you should be able to upload your code onto Clone NANO.

Step 7: Static Damage

Even after following all the above steps, if you are unable to get your code onto arduino that could be possibly because of Static Damage.

Electrostatic discharge (ESD) is the sudden flow of electricity between two electrically charged objects caused by contact, an electrical short, or dielectric breakdown. A buildup of static electricity can be caused by tribocharging or by electrostatic induction. The ESD occurs when differently-charged objects are brought close together or when the dielectric between them breaks down.

While shipping the circuit, there might be chance of board getting damaged, so in that case, get you can change your ATMEGA328p chip which is a SMD package,

And if you have no idea about smd soldering, check out my video about soldering which is linked in description below.

if your supplier allows replacement, you should propably avoid changing the atmega 328p chip and rather get your board replaced.

still if you don’t have any luck in setting up your arduino, do mention your error in comments section, we will try to solve it together!

Step 8: Conclusion

by following these simple yet effective ways of updating driver, setting up board properly and bootlaoding will solve most of the arduino nanos common problems.

in case of any doubts or confusion, feel free to comment down.

thank you

Be the First to Share


    • CNC Contest

      CNC Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    8 Discussions


    6 weeks ago


    'Step 6: Missing BOOT-LOADER' worked for me.

    1 reply

    Reply 6 weeks ago

    good to hear that! if you fixed your Arduino, we have lots of projects on our Youtube page, do check them out and try them!


    Reply 2 months ago

    glad that it helped you! if you liked this post, do checkout my recent posts and vote for them in contests!


    Reply 2 months ago

    Thanks! It worked for me. I've been scratching my head for hours looking for solution.


    Reply 2 months ago

    you are most welcome! if you like this post, do check out my recent posts and dont forget to vote for me in recent contests :P


    8 months ago on Step 7

    Nano Clone: Problem uploading to board.
    avrdude: stk500_recv(): programmer is not responding