I agree with Eric concerning the watchdog. On an Arduino it is built in and very simple to implement. Below is how simple it is. I do think the Arduinos are pretty robust. I've got them running my CNC milling machine conversion, my 3d printer, and other stuff too. They have never failed me even running for days, or in the case of my sump pit water detector (Arduino Nano based), it has been running for about 6 years now.


Minimum code for watchdog:

#include <arv/wdt.h> //the library for the watchdog timer


void setup(){
wdt_enable(WDTO_4S); //enable watchdog timer with 4 second timeout
}


void loop(){
//Your main code here to do whatever


wdt_reset(); //resets the watchdog timer each time through the main program loop
}