Arduino nano(clone) uploading code but not running it

arduino nano compiling the code successfully but but the code does not run.

tried it with the blink sketch and a custom code and a display code but no solution

chatgpt says its a probem with the bootloader but how is it a problem with the bootloader if the code uploads

this is what i get after i upload;

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

     System wide configuration file is "C:\Users\Eydo\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

     Using Port                    : COM8
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200
     AVR Part                      : ATmega328P
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PC2
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : Arduino
     Description     : Arduino
     Hardware Version: 3
     Firmware Version: 4.4
     Vtarget         : 0.3 V
     Varef           : 0.3 V
     Oscillator      : 28.800 kHz
     SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Eydo\AppData\Local\arduino\sketches\E648EE68BF3D8056518D3DC92650576F/sketch_may4a.ino.hex"
avrdude: writing flash (722 bytes):

Writing | ################################################## | 100% 0.09s

avrdude: 722 bytes of flash written

avrdude done. Thank you.

please help

Do you have and LED and resistor to connect to a different pin?

Enable verify code after upload under file → preferences and perform an upload. Does it still succeed?

I used the built in led but i did try but no luck

Nope. does not upload here is there error i got

     System wide configuration file is "C:\Users\Eydo\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"

     Using Port                    : COM8
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200
     AVR Part                      : ATmega328P
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PC2
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : Arduino
     Description     : Arduino
     Hardware Version: 3
     Firmware Version: 4.4
     Vtarget         : 0.3 V
     Varef           : 0.3 V
     Oscillator      : 28.800 kHz
     SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\Eydo\AppData\Local\arduino\sketches\FC20271DD7F4731C1C0AD903CEC3F216/Blink.ino.hex"
avrdude: writing flash (924 bytes):

Writing | ################################################## | 100% 0.12s

avrdude: 924 bytes of flash written
avrdude: verifying flash memory against C:\Users\Eydo\AppData\Local\arduino\sketches\FC20271DD7F4731C1C0AD903CEC3F216/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\Eydo\AppData\Local\arduino\sketches\FC20271DD7F4731C1C0AD903CEC3F216/Blink.ino.hex:
avrdude: input file C:\Users\Eydo\AppData\Local\arduino\sketches\FC20271DD7F4731C1C0AD903CEC3F216/Blink.ino.hex contains 924 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.12s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x62 != 0x0c
avrdude: verification error; content mismatch

avrdude done. Thank you.

Failed uploading: uploading error: exit status 1

So that is the reason why your uploaded sketch does not work. I have no idea why.

You might have bought a crappy clone; my advice would be to return it and ask for your money back.

Please post a clear picture of the IC on the top. It should be this

Please also post a clear picture of the IC on the bottom of your board. Is there text readable on it? Which text? Most clones use the CH340 and should look like below.

How does Windows device manager identify the board? As a CH340 or as a FTDI?

If Windows recognises the board as a CH340 and the IC on the bottom is the CH340 (16 pins) and has no print on it you will have to roll back the driver; see Port monitor error: command 'open' failed: Invalid serial port. Could not connect to COM serial port - #49 by ptillisch.

ok so here is the photos you requested.


incase its not visible the first image says "atmel mega328PB"

and the other says its an ch340c.

i did the stuff in the link u gave me but still does not work.

when i asked gpt he said its either a Corrupted bootloader or fuse settings or Damaged flash memory.

i will give you an understanding of when this issue began incase u are able to know the problem.

i was playing audio from the nano using a sd card and a speaker with a mosfet to strengthen the audio and it worked for like a second and when i tried to increase the volume from the code it wouldnt work so i decreased the volume and it still wouldnt work i then kept trying to upload the code and fix stuff but no luck. i when to try the blink example and it wouldnt blink it just suddenly stopped working its the wierdest thing that happened. and im so sure that i did not short anything because i kept checking.

what chatgpt said:

also i sadly cant return i have this nano for a couple of months now and i used it alot so ya

Your board has the 328PB, not the 328P. It would be advisable to use the MiniCore board package.

but it's returning the signature byte for the 328P not the 328PB
Hmmm..

not only that but uploading the code with the mini core package gives me this error

avrdude: Can't find programmer id "urclock"

and then a whole list of "valid programmers"

and then : Failed uploading: uploading error: exit status 1

well i just tried the mini core package and i get an error

Was it wrong device signature?

nope. its this error

avrdude: Can't find programmer id "urclock"

and then a whole list of "valid programmers"

and then : Failed uploading: uploading error: exit status 1

That may be a totally different and unrelated problem.

All I can say is that the chip is returning the signature for a 328P and not a 328PB. However, the 328PB is not a pin for pin replacement for the 328P.
It may well be possible to execute code designed for the 328P that will damage a 328PB. That may explain why it worked at first but later failed when you tried different code.

If you have a look at the pictures of the ATmega328PB you see a wide variety.

The middle one is closest to that of the OP in post #7 but the font is a little bolder here. I've not idea which, if any, are fakes.

So basically my board is cooked? And there is no way to fix if?

I think the text got less visible by time. I can try to send you a clearer picture or atleast try to tell u the text written if that will help.

Other than replace the 328, I don't see what else you could do.
Most of the time it's just cheaper to throw it out.

Hi @zenux

As @sterretje mentioned, that procedure is only necessary when you have an unlabeled "CH340" chip on your board. From the picture you shared, I can see that you have a labeled WCH CH340 chip, which should be compatible with the latest driver version. So I recommend you use the Windows Device Manager to update the driver back to the latest version again in order to benefit from any fixes or improvements the chip manufacturer might have made to the driver over the last few years.

It is possible that a short or external circuitry connected to the Arduino board could cause this type of problem by interfering with the upload process.

Make sure the board is not sitting on anything conductive that could short the contacts on the bottom of the board. Make sure there isn't any conductive debris (e.g., loose beads of solder, strands of wire, or component leads) on the board or on the surface the board is sitting on.

If you have another USB cable on hand, try changing the cable. Maybe a damaged or defective USB cable could be the cause. Make sure the USB cable is fully inserted into the USB socket on the board and computer.

If you have a shield or any external circuitry or components connected to your Arduino board, try this experiment:

  1. Disconnect the USB cable of the Arduino board from your computer.
  2. Disconnect any shields, modules, external circuitry, etc. from your board.
  3. Connect the Arduino board to your computer with a USB cable.

Now try uploading a sketch to the board again. Does the upload succeed?

This experiment will determine whether the upload error was caused by interference from your external circuitry. If so, you can then focus your attention on identifying the specific problem with the circuit and resolving it.

Have you try "old bootloader"?