Prevent microcontroller reset after power-on using an extra tiny microcontroller.
Reset-timeout
A tiny circuit that stops your 3D printer from restarting when you plug in USB mid-print. An ATTINY13 passes DTR reset pulses to the microcontroller for the first 120 seconds after power-on, then ignores them - so you can still flash, but prints no longer die.
What's in it
- An ATTINY13 microcontroller.
- Small Arduino/PlatformIO firmware.
- A prebuilt hex file, ready to flash.
- Fuse settings documented in the README (LOW 0x7A, HIGH 0xFB).
The gating logic
The gating logic is simple. The ATTINY13 watches the DTR pin, and on a HIGH-to-LOW edge pulls RESET low for 50 microseconds to trigger a reboot. After 120 seconds it disables the watchdog and sleeps in power-down. I picked 120 seconds because flashing takes seconds and prints run for hours.