Optiboot fixes these problems. Urboot fixes it better.

So: more flash, no boot loops, surviving EEPROM. The only question is why your bootloader isn't already updated — and that is exactly what the BootBurner is for.

If you've ever tried to burn a bootloader onto a bare Arduino-compatible board, you already know the ritual: open five browser tabs, discover that four of them contradict each other, find out that the one that looks right was written in 2014 and references a menu that no longer exists, accidentally brick the target, and spend the next forty minutes wondering whether you selected "Arduino as ISP" or "ArduinoISP" (they are different things, and yes, that space matters, and yes, that has ruined someone's afternoon).

The hardware is straightforward and that's exactly the point. At its heart sits an Arduino Nano running the ArduinoISP sketch, with a reset-prevention capacitor soldered between its RESET and GND pins so the IDE stops fighting itself mid-upload. Four LEDs give you live status: blue for power, yellow for the programmer heartbeat, green for success, and red for the kind of news you were hoping to avoid.

The clever bit is the connection to the target. A 2.45mm pogo pin clamp drops straight onto the unpopulated ISP pads of any Arduino — no soldering required on the target side. But here's the part that earns the chef's kiss: the clamp has a standard female connector sitting on top of it, so if the target does have pin headers fitted, you just slide that connector onto them instead. One tool, both situations, no adapter hunting.

On the software side, the documentation deserves its own paragraph. Rather than pointing you at a wiki and wishing you luck, the BootBurner manual walks through three bootloader options — the old bootloader, Optiboot, and MiniCore's urboot — and actually explains what makes each one better than the last. Spoiler: urboot wins on every metric that matters (384 bytes of flash used instead of 2048, hardware-level Watchdog Timer fix, and EEPROM that survives a firmware update). The manual also handles the ATmega328PB plot twist gracefully: if your chip turns out to be a 328PB masquerading as a 328P, the guide catches the error signature 1E 95 16, explains what it means, and walks you through MiniCore without drama.

The settings tables, with columns for the value, the reason, and which board it applies to, are the kind of thing that should have existed on the Arduino forums fifteen years ago. Turns out all you needed was someone annoyed enough to write them.

BootBurner doesn't reinvent ISP programming. It just makes sure that the next person who needs to do it doesn't have to open five tabs.