5 Most Common Arduino Nano Clone Problems and Their Solutions

Introduction: 5 Most Common Arduino Nano Clone Problems and Their Solutions

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.

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,

note

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.

https://www.arduino.cc/en/Tutorial/Blink

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.

.

.

.

.

.

Note

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.

.

NOTE

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.

nano ICSP UNO

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.

.

Note

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

    Recommendations

    • For the Home Contest

      For the Home Contest
    • Big and Small Contest

      Big and Small Contest
    • Make It Bridge

      Make It Bridge

    49 Comments

    1
    anacapala
    anacapala

    2 years ago

    This list is out of date.
    Currently, the most likely problem with getting a clone Nano to work is that it uses the obsolete 'C' version of the CH340 chip. These obsolete chips are being dumped onto the market at giveaway prices, and the clone makers are using them without realizing the problem. This can be hard to detect because the writing on the chip is very faint, and the current version is "G" which looks almost the same. The symptom is that the USB connection is recognised (and the port will likely include CH340 in the port name) but the download from the IDE fails.

    The solution is simple: In Tools you need to select processor (not just Board and Port) and set it to "ATmega328P (Old Bootloader)". If you don't have this option for Processor you need to get a newer version of the IDE.

    0
    WillDiy007
    WillDiy007

    Reply 4 months ago

    Thanks. This worked for me. I suggest people to try this before to involve themselves on doing the thing with the arduino uno mentionned in the tutorial.

    0
    JanT14
    JanT14

    9 months ago

    This saved my day! I was not aware that my Nano didn't have the bootloader installed until I found this intructable. Thanks for sharing your wisdom!

    1
    trobins20200
    trobins20200

    1 year ago

    Yesterday received two Nanos and tried to upload to them. No luck. After some searching, I discovered this Instructible, and just minutes later, my problem was solved! In my case, all I needed to do was choose the Old Bootloader. Thank you for this valuable information.

    0
    sanjaynt72
    sanjaynt72

    Question 1 year ago on Introduction

    Why can't I upload code from realme mobile to arduino?

    0
    the_doktora
    the_doktora

    2 years ago

    Getting:

    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.
    0
    nethaka196
    nethaka196

    Reply 1 year ago

    Me too.

    0
    the_doktora
    the_doktora

    Reply 1 year ago

    Oh bro... I think I fixed it but because it was 7 months ago I don't remember what I did... I think I used the "-F to override"... not really sure. Sorry bro :/

    0
    nethaka196
    nethaka196

    1 year ago

    Please can you help me? My bootloader is not burning.


    Arduino: 1.8.13 (Windows 10), Board: "Arduino Nano, ATmega328P"
    avrdude: Yikes! Invalid device signature.
    Double check connections and try again, or use -F to override
    this check.
    Error while burning bootloader.
    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

    I followed the steps correctly but it will not burn.

    0
    mohsin.malik9774
    mohsin.malik9774

    2 years ago

    Not connected board found please troubleshooting .. problem how to solve. Help me.

    Screenshot_20210328-125004_ArduinoDroid.jpg
    0
    Rick Chow
    Rick Chow

    Question 2 years ago

    I have several Nano clones that all have a different sketch uploaded to them. When I make a change to the sketch it will no longer upload to the nano. It seems I have only gotten 2-4 uploads per board what is the issue?

    0
    StefanE15
    StefanE15

    Answer 2 years ago

    Try switching Arduino AVR Boards from version 1.8.3 to 1.8.2 in Boards Manager. This fixed it for me. (I must've clicked "update" at some point) I don't think 1.8.3 is compatible with some Nano clones. (None of mine have worked since, but I'm currently going through all of them, and they all freakin' work now!)

    0
    StefanE15
    StefanE15

    2 years ago

    After endless hours/days/weeks/probably months... I ended up simply switching Arduino AVR Boards from version 1.8.3 to 1.8.2 in Boards Manager. This fixed it for me.

    0
    ddekaylapollard
    ddekaylapollard

    2 years ago

    Hii sir please help me out iam getting error while uploading the code

    Arduino: 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

    Sketch uses 6648 bytes (21%) of program storage space. Maximum is 30720 bytes.
    Global variables use 53 bytes (2%) of dynamic memory, leaving 1995 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20
    An error occurred while uploading the sketch


    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

    0
    pamies
    pamies

    Reply 2 years ago

    I just read this and after trying everything I read about potential solutions without any success, I found a solution for my "nanos" (several of them). I just said to the IDE that they were "Arduino Duemilanove or Diecimile" and it worked perfectly. May be you can try this...

    0
    jassin.stolarczyk
    jassin.stolarczyk

    Tip 2 years ago

    i solved this problem by downloading the driver and going to "tools" then to "processor" and changing it to ATmega328P (Old Bootloader)

    0
    Mikulik
    Mikulik

    2 years ago

    Lots of good suggestions, and I still recommend not changing the AVR fuses (the problem was caused by NANO from Thinary el.). Even according to the Engbedded calculator, if you do not know what you are doing (my case - with the factory settings Atmega328 does not work, but it could be returned).

    1
    jahangirali259
    jahangirali259

    Question 2 years ago

    how to solve this error. I tried your all above given solution

    (problem uploading to board
    Arduino: 1.8.13 (Windows 10), Board: "Arduino Nano, ATmega328P"
    Sketch uses 924 bytes (3%) of program storage space. Maximum is 30720 bytes.
    Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4e
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x4e
    Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#up... for suggestions.
    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.)

    0
    ddekaylapollard
    ddekaylapollard

    Answer 2 years ago

    I also want this sir
    Please help me out

    0
    neetubhatt997
    neetubhatt997

    Question 2 years ago on Step 1

    After upload sketch how to upload another sketch on Arduino nano please tell me