Chatter 2.0 Restore Firmware, Install Micropython Stalls

I am having a lot of trouble reliably working with the Chatter 2.0 devices. Many of the code changes I make in the coding interface leave the device unstable, and my attempts to quickly restore a stable image often get hung for hours. I am spending way more time waiting to connect and get the device stable than coding. Is there a local button combination or some other failsafe surefire way of restoring stock image without connection?

At the moment my device is spitting out the following message repeatedly when
I view it in Thonny

rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:928
ho 0 tail 12 room 4
load:0x40078000,len:8424
ho 0 tail 12 room 4
load:0x40080400,len:5868
entry 0x4008069c
ets Jun 8 2016 00:22:57

Thank you.

Update: I followed guidance posted on another forum regarding the ESP-WROOM-32 CPU which suggested shorting the IO0 pin to ground while executing the firmware restore would overcome this problem. I connected two probes together. started the restore then shorted the IO0 and it very slowly started writing each memory block, but eventually got there. I am happy to say now that things are significantly more stable, but I always test out new ideas using the block IDE before trying to simply code via script as I am not sure the error checker catches everything.

Hi,

thank you for reaching out to us.

You can only restore the firmware using CircuitBlocks. We are glad that you were able to solve the issue by shorting the IO0 pin to ground and thank you for letting us know!

Best,
Sandi