Arduino Nano CH340G-Win 11, Upload code failed

Hi everyone,

I am using an arduino Nano CH340G. I installed its driver so that when I connect it to my laptop, it shows CH340 plus the COM number. However, still, when I want to upload a code into it, it shows an error. I tried with the same cable and ArduinoDriod on my Android phone and it worked without any flaws. I would be grateful if anyone can help me to resolve the issue with my laptop.
BTW, I tried an arduino UNO CH340 and it works with my laptop.
Best regards,

Hello, I kind of have the same problem in Windows 11. Can I ask what driver files were used and how did you install them? I can't install any CH340 driver because it went bluescreen after that.

Does the debug monitor connect, if so it is probably working. Be sure to select the proper board. When I write code the first thing I do in setup is send a hello message to the console telling what software is running. It is amazing how helpful that gets over time and is great for debugging a new install of the IDE.

@MasoudHasany , have you tried the different processor options under tools -> processor? Clones often use the old boot loader.

Thank you. Yes, I tried that too.

I used this one
https://www.arduined.eu/files/windows10/CH341SER.zip

It does not work as I sent the "bare minimum" to the controller and it still runs the factory "Blink" code. Moreover, while uploading I receive an error and it means that uploading is not done.

Time to post the full error message that you get.

I copied the whole error message. It is as below:

Arduino: 1.8.19 (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.

An error occurred while uploading the sketch

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

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.
An error occurred while uploading the sketch
An error occurred while uploading the sketch
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xb6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xb6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xb6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xb6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xb6
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xb6
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xb6
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xb6
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xb6
avrdude: ser_send(): write error: sorry no info avail
avrdude: ser_recv(): read error: Access is denied.

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xb6
avrdude: ser_drain(): read error: Access is denied.

Maybe post us the screenshot of your Arduino nano port in device manager

For the sake of having all the relevant information, I'm going to ask you to also post the full output from an upload attempt with the "ATmega328P (Old Bootloader)" option selected.

Please do this:

  1. Select Tools > Processor > ATmega328P (Old Bootloader) from the Arduino IDE menus.
  2. Select File > Preferences from the Arduino IDE menus.
  3. Uncheck the checkbox next to Show verbose output during: 🗹 compilation
  4. Check the checkbox next to Show verbose output during: ☐ upload.
  5. Click the OK button.
  6. Attempt an upload, as you did before.
  7. After the upload fails, you'll see a button on the right side of the orange bar in the Arduino IDE: Copy error messages. Click that button.
    This copies the full output to the clipboard.
  8. Open a forum reply here by clicking the Reply button.
  9. Click the </> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block
  10. Press Ctrl+V.
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code tags before you add any additional text to your reply.
  12. Click the Reply button to post the output.

Sorry Guys I actually use the FTDI controller not the CH340. However it still wont work after updating the driver to the FTDI one. Im makimg a new topic then thanks for the help.

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