• however flashing it with PUCKJS or MDBET42Q didn't help.

    No, of course not, flashing with PUCKJS or MDBT42Q can only break it. But it is good the hardware is probably OK if you see 21.
    It can be fixed by copy pasting following code to left side of WebIDE (use ctrl+v to paste)

    setTimeout(function() { NRF.restart(function(){
    poke32(0x4001e504,2);while(!peek32(0x4001e400)); // enable flash erase
    poke32(0x4001e514,1);while(!peek32(0x4001e400)); // erase whole uicr
    poke32(0x4001e504,1);while(!peek32(0x4001e400)); // enable flash writing
    poke32(0x10001014,0x7A000);while(!peek32(0x4001e400)); // set bootloader
    poke32(0x10001018,0x7E000);while(!peek32(0x4001e400)); // set mbr settings
    poke32(0x1000120c,0xfffffffe);while(!peek32(0x4001e400)); // NFC pins as GPIO
    poke32(0x4001e504, 0);while(!peek32(0x4001e400)); // disable flash writing
    }) }, 2000);NRF.disconnect();
    

    then wait few seconds, reconnect and try the peek32(0x10001200).toString(16) again, if it prints all FFs then it is fixed, reboot the watch (via buttons or E.reboot()) and hopefully flash storage will start working again.

About

Avatar for fanoush @fanoush started