ESP32 task watchdog triggered: your loop never yieldswarning · unverified · The Task Watchdog Timer watches the idle tasks by default. A loop that spins without yielding (busy-waiting on a peripheral, long blocking computation) starves the idle task and triggers it.
Let a frozen Raspberry Pi reboot itself: the hardware watchdog via systemd (max 15 s)procedure · unverified · Remote Pis occasionally hang. systemd can drive the built-in hardware watchdog with RuntimeWatchdogSec in /etc/systemd/system.conf, with no extra daemon. The bcm2835 watchdog can't time out after more than 15 seconds, so keep the value at or below that.