None of my PCs is unable to recognize Arduino Nano

Hi, I recently bought an arduino Nano V3-Board with Atmega328 and the CH340 chip. I have been trying to connect it to my computer for days and I don't know what to do anymore. The nano I bought comes with a USB-Mini connection (not micro or C) and I can't get the board recognised in the device manager. I have installed the CH340 driver that I could find on the manufacturer's website, as well as many others that I have found on the internet. Unfortunately it seems that it didn't work, even though I installed them I still don't see the board in the device manager. I'm using version 1.9.18 of the arduino IDE. A red led light comes on my arduino nano when I connect it. I have tried setting the ATMega328P option (Old bootloader) as it appeared in the product reviews that it worked for some people. Using the nightly version of the arduino IDE, in the new board selector appeared one that said "Unknow", also to select and try to upload the sketch gave me stk-500 connection error, specifically this one:

stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xa5

I have tried on ubuntu too, with the same IDE versions, finding a working ubuntu driver has not been possible (the one I found was only valid for kernel versions 1.x.x to 3.x and my version is 5.15) but I found that the "upstream driver" should work (I don't know what it is exactly, to be honest) and the result has been the same. I have tried with other cables, the most I have achieved is that the device CH340 appears in the COM3 port in the device manager, but the board has never appeared there.

This is the arduino nano:

I have downloaded the CH340 from AZDelivery website:

this link: https://cdn.shopify.com/s/files/1/1509/1638/files/ch340.zip?v=1683899825

I hope someone can help me, thank you very much for your attention.

Maybe your USB cable is the 'for charging' sort - having no data lines?
Was that included in your purchase?

:tongue:

On the cable box at least it says that it has data transfer... I don't have any device that uses USB-Mini and I can't test it at least for the moment. The cable was not included.

Hi @pnemonic

You will never see anything identified as a Nano board in Device Manager. The reason is because the computer is only connected to the CH340 chip. This is a general purpose USB chip so there is no way for the computer to know that the CH340 happens to be on an Arduino Nano derivative board.

So if you see a CH340 device under the "Ports (COM & LPT)" section of the Windows Device Manager then all is well.

It is normal for the port of the Nano to be marked "Unknown" by Arduino IDE. As with Windows Device Manager, Arduino IDE doesn't have any way of knowing what the serial port is due to it having been created by a general purpose USB chip. So it can't identify the port as a specific board and marks it "Unknown".

However, you should also be aware that you might have other serial ports on your computer that are unrelated to the "Nano" board and these will also appear in the Arduino IDE menus. You'll never have any luck trying to upload to one of those ports so you must verify that the port you are seeing in Arduino IDE truly is the Nano.

You can positively identify the port using this procedure:

  1. Disconnect the USB cable of the Arduino board from your computer.
  2. Select Tools > Port from the Arduino IDE menus.
  3. Take note of the ports, if any, listed in the menu.
  4. Close the Tools menu.
    :exclamation: The ports list is only updated when the Tools menu is re-opened, so this step is essential.
  5. Connect the Arduino board to your computer with a USB cable.
  6. Select Tools > Port from the Arduino IDE menus. - If a new port is listed in the menu, that is the port of your Arduino board.

Select that port from the menu and try uploading again.

If the upload still fails, or if no new port appeared after you plugged the Arduino board into your computer, add a reply here to let us know and we'll investigate the problem further.

You don't need to install a driver to use the "Nano" board on Ubuntu. We can investigate the problem with Ubuntu later if you like, but for now I recommend we focus all our attention on getting things working on Windows because if we try to troubleshoot two different operating systems at the same time we are sure to get confused.

Thank you for your reply, it has really clarified some concepts for me.

Now, the problem is that when I connect the arduino via USB, in general nothing happens in my computer, nothing appears in the Ports (COM & LPT) section of the device manager. As for the arduino IDE, under Tools > Port nothing appears either, in fact I can't click on it because it is greyed out and locked.

I mentioned in my first message that there was only one cable which gave me results, the one I was referring to here:

I've made this cable myself from an old USB to mini-USB adapter, to which I connect a usb to
usb cable that I made by splicing the cables together

When I select the COM3 Port that appears, the Arduino Nano board and I try to upload the sketch, the stk500 error shows up.

It is confusing that with this cable at least the device is recognised somehow and with the new one I bought it is not, but this is the case. However, I think the stk500 error here occurs precisely because the cable is spliced and may be giving problems.

I really appreciate the proposal of fixing this in ubuntu as my ultimate goal is to use all of this for, redundantly, an ubuntu project, so fixing the problem of being recognised I think is a good idea haha.

OK, please use that cable from here on. If one cable works and another doesn't then that indicates the other cable is either a "charge-only" cable (without data connections) or else is damaged.

OK, there are multiple possible causes of that error. Please try this experiment and report the results:


:exclamation: This will not solve the problem. The experiment is done to gather more information about the problem.


  1. Connect the Arduino board to your computer with a USB cable.
  2. Press and release the button on the Arduino board that is marked "RESET".

Now please reply with the answers to the following questions:

  • Did you see the LED marked "L" on the board blink immediately after you released the "RESET" button?
  • Did the LED blink only once, or did it blink multiple times?

I plugged it, I pressed the RESET button and the LED marked L blinked once as soon as I pressed the button.

OK, great. Please select Tools > Processor > ATmega328P (Old Bootloader) from the Arduino IDE menus and then try uploading again.

Hopefully the upload will now be successful.

1 Like

Okay now it hasn't come up with an error but I don't know if it has uploaded correctly. Nothing has changed on the screen, only the following text appears:

Sketch uses 6360 bytes (20%) of the program storage space. The maximum is 30720 bytes.
Global variables use 515 bytes (25%) of dynamic memory, leaving 1533 bytes for local variables. The maximum is 2048 bytes.

Imgur

It has. Congratulations!

The "Subido" message on the teal bar in the screenshot is the indicator that the upload has finished successfully. When the localization of the IDE is set to English, the message is the more descriptive "Done uploading.".

If you would like more of an indication of the progress of upload in Arduino IDE, you can enable the verbose upload output:

  1. Select File > Preferences... from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Check the box next to "Show verbose output during: ☐ upload".
  3. Click the OK button.

Because it produces a huge quantity of output that isn't of interest to the average user, I normally only recommend enabling the verbose compilation output when you are troubleshooting a problem with compiling in Arduino IDE. But the quantity of the verbose upload output isn't so overwhelming and is also more generally useful so I recommend always having the verbose upload output enabled.

If you are still having trouble on your Ubuntu machine and would like assistance with that problem, let us know and we'll try to help you out.

Indeed, everything is now working properly. Indeed, one of my problems was that the data cable was not a data cable (even though it said so on the box...).

I would like to be able to detect it in linux, I have tested it and it turns on correctly, but I still can't select it in "ports" from the arduino IDE.

I would like to thank you for the quick and attentive answers, this has been my first arduino project and seeing that the forums work so well has encouraged me to continue. Thanks again.

I also wanted to say that another problem I had is that I hadn't soldered the pins to the arduino nano (not to the breadboard but to the board itself), I thought that just making contact with the pins on the breadboard was enough.

You don't state which Linux. For at least Ubuntu and derivatives, check dmesg for BRLTTY; if it's there, uninstall it or use udev rules to disable it; instruction have been posted on this forum.

And check lsusb to see if it's anyway recognised.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.