Reset-timeout

Prevent microcontroller reset after power-on using an extra tiny microcontroller.

Reset-timeout

C++

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.