Arduino nano clone issues

Hello guys, I am new to arduino and trying to build something using arduino nano. I know it's not a very good choice for beginners but I just decided to use it because of the compact nature of my project. I ordered some arduino clones from a cheap website (china) but after connecting and using it for as few days it stopped accepting code an displayed this error:

Sketch uses 2068 bytes (6%) of program storage space. Maximum is 30720 bytes.
Global variables use 50 bytes (2%) of dynamic memory, leaving 1998 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=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xbe
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xbe
Failed uploading: uploading error: exit status 1

and I also noticed the led labeled 'L' stopped blinking, I did some research and assumed the bootloader was corrupted, so I tried to burn the bootloader using a spare working arduino clone I had on ground. But while trying to burn the bootloader to the target nano, this error came up:

avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Failed chip erase: uploading error: exit status 1

and afterwards the programmer nano stopped accepting code an the led labeled 'L' also stopped blinking. Please I need some advice on how to treat cheap chineese clones in order to make my project successful!

Can you tell us a little more of what you were doing with it when it stopped working? In particular, please post a schematic of the circuit you had built around it and preferably a good photo of the setup as well.

I've had quite a few of these and never noticed anything particular about them. They always worked just like the real thing.

It appears you have the wrong boot loader selected. That can be changed it tools, there are two, you probably need the old and it got switched to the new. What have you connected to the Nano?

1 Like

Bought 2 Nanos from Amazon because they have FTDI USB / serial chips instead of CH340. They both only work if selected board is "Genuino / UNO".
They work fine, even A6 & A7 which surprised me. Tried burning bootloader from another "real" Nano but no luck.

Another weak point of those cheap clones is the reverse polarity diode (D1) is easy to burn out. I have 3 out of a 4 pack that this happened to, still work fine if powered through 5V pin.

Try this:

  1. Select Tools > Board > Arduino AVR Boards > Arduino Nano from the Arduino IDE menus.
  2. Select Tools > Processor > ATmega328P from the Arduino IDE menus.

Now try uploading again.

The Modern Nano boards use the same Optiboot bootloader as the UNO, which is why you can upload to them when you have "Arduino Uno" selected in Arduino IDE. Unfortunately Arduino forgot to update the fuse values at the same time they changed the bootloader, so a 2 kB boot section is still reserved on the ATmega328P microcontroller of the Nano board even though the new bootloader would fit in a 0.5 kB boot section. The board definition of the Arduino Uno sets a maximum sketch program memory value of 31.5 kB, which is appropriate for the Uno since the fuses on its ATmega328P are configured for the 0.5 kB boot section. But this means that when you have the Arduino Uno board selected in Arduino IDE while using a Nano, the IDE will think that there is more program memory available for your your sketch than there actually is, since the Nano's ATmega328P only has 30 kB available after the 2 kB allocated to the boot section.

2 Likes

TNX for that, will try later, too late tonight, 22:30 here. :tired_face:

If you want to go to the trouble, you can burn the bootloader to the Nano while the IDE is set for "Arduino UNO", that will configure the fuses for the 0.5KB bootloader section and allow you to use 31.5KB of program memory for your code. Just have to remember to set the IDE to "Arduino UNO" when compiling sketches.

A6 and A7 are present on the processor chip inside the atmega328 on the UNO, but are not connected to any external pins. Sometimes those are used to generate a value for seeding the random number generator.

Good day! The project I am working on is an rc car I built from scratch, this is the circuit diagram:



Although my project makes use of two nanos, I have only had problems with the one on the receiver circuit. Here's a picture of my setup:

In my setup I have a brushless motor instead of a brushed motor and only one servo connected, which leaves two channels idle. But I don't think that affects anything.
I was just testing my rc car and after some minutes I want to make changes to the receiver arduino code, but when I tried the upload failed.

Looks like a fun project!

Are you sure the schematic matches the project as built in your photograph? I see two NRF24L01 modules in there, for instance.

I can't spot a blatant flaw at first glance, but I suspect that between your battery pack, ESC and the motors, something created a voltage transient that killed your Nano.

I'm sorry, did I mention that when I wasn't able to upload code to my nano anymore the car still functioned fine. That was what made me conclude that it was the bootloader.

Not necessarily, but if that's the case, you could easily reprogram the bootloader using the ISP connector. You can even use one of the other Nano's as the programmer for this. I prefer to use an USBASP programmer; they're cheap and more convenient IMO.

However, it's also possible that it's a hardware problem involving the CH340 USB-UART chip or the D0/D1 GPIO's on the Atmega chip. Does your Nano still send output over UART to the serial monitor? And if you send something to the Nano from the serial monitor, do you see the RX LED on the Nano blink?

I cannot test if my nano still sends output to the serial monitor because I cant upload the code to test it.

I understand; I was assuming your code might have had some Serial.print's in it for debugging purposes. It was a bit of a guess since I don't know what you're running on it.

Anyway, I'd try reprogramming it with ISP; burn the bootloader again, then program a sketch (also using ISP) that does some Serial output and maybe echo Serial input received from the computer/serial monitor so that you know that the UART works, and then see if you can program it in the regular way again.

If you upload a sketch via ISP, the bootloader code will be erased, so you will need to burn the bootloader again before uploading via USB.

Hey, guess what, the nano I thought died after trying to use it to burn the bootloader to the other nano just worked. It was all a matter of pressing the reset button and selecting the old bootloader from the ide, and I was able to upload the blink sketch to the nano but I'm still gonna try what you suggested regarding the other nano. Thanks for all the help :+1: :+1:

1 Like

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