Arduino pro mini 8MHz 3.3V sudden inability to upload code

I am making a project/hobby drone using an arduino pro mini as the onboard computer, after finishing the soldering i uploaded code to the pro mini using a CP2102 USB to TTL UART, since the module that i bought didn’t have a DTR pin i just reset the pro mini manually during upload.

For the first couple of weeks this worked perfectly, afterwards at some point i didn’t touch the arduino pro mini (or the project in general) for about 3/4 days, and when i came back uploads started failing, using the exact same method.

The CP2102 using the loopback test seems to work fine, all the connections seem to be intact while measuring with a multimeter. One answer to this problem that i found online is a corrupted bootloader (which I’m not sure how it would get corrupted), i couldn’t test the specific problem and/or burn the bootloader since i no longer have access to the ICSP pins. My question is do you think the bootloader is the problem, and if so, is there a way to fix it using only the TX/RX/VCC/GND pins ?

Additional info:

I’ve checked that i have the correct board and com port selected during upload. The power led on the arduino is always on (when connected), while the user/built-in led is always off (even though i had previously uploaded a sketch, altough i don’t rember how it interacted with the built-in led since i have now uploaded and tested many different sketches). Now on the CP2102 the power led seems to work fine, while the TX pin shines very dimly periodically, and the RX led doesn’t shine at all (while previously when i was able to upload code succesfully to the arduino ,both TX and RX leds shined brightly). And here is the error that i am getting during upload:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x27
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x27
Failed uploading: uploading error: exit status 1

And as i said previously, i was able to upload code consistently with manual reset (using the above method) for at least 2/3 weeks, and the only event that i can think off between the upload working and not working was an update on my PC, which afterwards I tried to make sure that all the drivers and the com-ports where visible and working as intended.

What is the version of the Arduino IDE?
On v2.x IDE make sure that the Arduino Monitor closed.

You can't fix|update bootloader without access to the ICSP pins.

The version of the IDE is “Arduino IDE 2.3.5“, and yes i tried with a closed serial monitor and the issue wasn’t fixed i still get the same problematic results. So do you think that the issue is most likely the bootloader?

I don't have enough information to say.
If it were my board, I'd just try to restore the bootloader.

Do you have another Pro Mini? Try to upload the code to it to be sure that your PC is correctly configured.

1 Like

No i don’t have another pro mini but maybe i’ll buy one just to test it, since its the only way that i see to get an answer. If i manage to upload code to the other pro mini which i suspect i will be able to (even though i hope the problem is with my configuration since then it’s fixable), then can i say with more certainty that the issue is the bootloader?

Did you try all 3 Processor settings in Tools under Processor? Most of those ProMinis are old bootloader.

In tools under proccessor i have 4 options which i can just select ATmega328p and ATmega168, for the 16MHz pro mini and the 8MHz pro mini respectively. I have the 8MHz version and have tried both options and none of them worked, and as i stated previously this used to work, only recently has this problem occured.

The bootloader is stored in a special area of the ATmega328P microcontroller's flash memory. Unlike the application section of the flash memory, the boot section is protected from being written to by the bootloader. So there is no way for the bootloader to be erased, modified, or corrupted through normal usage.

The flash memory could be corrupted by exposing the board to conditions outside its rated maximum tolerances. Such conditions are likely to cause permanent physical damage in addition to any reversible changes to the flash memory. Although you may be able to fix a corrupted bootloader by connecting an ISP programmer to the board and then performing a "Burn Bootloader" operation, this isn't a magical fix for permanent physical damage caused by a "magic smoke" incident.

You can use the pins along the edge of the board as an alternative to the ICSP header. You would need access to the following pins:

  • 11
  • 12
  • 13
  • RESET
  • GND