You can get 'brown outs' - where the voltage goes so low that the MCU stops working (probably the oscillator), but not low enough to get it to reset.
Have you been able to look at the voltage on an oscilloscope? If you're using WiFi, a biggish (47uF) capacitor is probably a good idea (on the 3.3v line), but you could probably do the same on the 5v line as well.
It's a separate bit of hardware that will reset the Pico if the interpreter doesn't get around to the idle loop in the time period you have specified. If you use something like 10 seconds then even with very lengthy bits of code running the Pico is very unlikely to reset unless it totally locks up.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
You can get 'brown outs' - where the voltage goes so low that the MCU stops working (probably the oscillator), but not low enough to get it to reset.
Have you been able to look at the voltage on an oscilloscope? If you're using WiFi, a biggish (47uF) capacitor is probably a good idea (on the 3.3v line), but you could probably do the same on the 5v line as well.
To stop complete freezes, you could enable the watchdog timer: http://www.espruino.com/Reference#l_E_enableWatchdog
It's a separate bit of hardware that will reset the Pico if the interpreter doesn't get around to the idle loop in the time period you have specified. If you use something like 10 seconds then even with very lengthy bits of code running the Pico is very unlikely to reset unless it totally locks up.