Pro-mini 328 @ 8 MGHz re-burn bootloader

I got a batch of pro-minis with ATMEGA328P chips on them that will only load a sketch when the ATMEGA328 3.3V 8MGHz option is selected in the arduino IDE.

I tried burning a new bootloader for the Uno to fix the bootloader bug in the pro-minis that prevents a wdt reset from working, and it refuses to load a new sketch. I tried re-burning back to a 16MGHz pro-mini bootloader, and it still won't load the sketch. Only when I put it back to the 8MGHz 3.3V version will it load a sketch.

Can someone please tell me why this is the case, and if there is any way around it to get the Uno bootloader on these chips?

Thanks in advance. :slight_smile:

The Pro Mini comes in both 3.3V 8MHz and 5V 16MHz flavours, it sounds like you have the 8MHz version.
You can always use an external programmer (or even another Arduino) as an external programmer and bypass the bootloader, but if you have the 3.3V 8MHz board you'll need to make sure that your .hex file is built to use that speed.

Hi silly_cone,

What kind of external oscillator are you using? If you set the fuses for an external oscillator, you will only be able to program the chip using the same speed oscillator. For example, if you set an avr to be programmed using a 16MHz (not MGHz) crystal, then you will not be able to program it using the 8 MHz internal oscillator.

The fix is to reset the fuses using the prior oscillator, then program it with the new oscillator.

The 8mhz Arduino Pro Mini has an external 8mhz oscillator!
Probably because the internal oscillator isn't accurate enough for serial to work.

But yeah, if you burn 16mhz bootloader on it, and tell the IDE you're running it at 16mhz, but the external crystal is an 8mhz crystal, it's not going to work.

To get WDT bug fixed on an 8mhz pro mini, I'd install MiniCore ( GitHub - MCUdude/MiniCore: Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB ), and burn bootloader for external 8mhz crystal on 328p, and program it using that same setting.

Haha, great another core! ::slight_smile: But if it fixes the bug.....

Thanks for the help everyone.

Just for kicks, how would one bypass the bootloader when programming with an avr ISP-mkII through atmel studio? Because I could easily re-burn the fuses there and flash it with the .hex file. And if the bootloader were bypassed, would the wdt reset still be glitchy?