yesterday my friend "bricked" two WeMos Lite boards:

- IMG_20250422_015401.jpg (155.42 KiB) Viewed 356 times
even if MCUs was functioning, they became unable to be flashed with all the arduino stuff. he attached a 5V ADC to some pins including D0, which acts as startup-critical BOOT option. he thought he could destroy pin D0 by overvoltage, so there is no way to use these boards in arduino way any more.
attempts to talk to these bricks with some UART-logging java program, uploading stubs bootloader and dumping a little piece of flash with it sometimes was successful on one of boards - when playing around with RST button during UART software reset sequences.
digging deeper with a multimeter showed, that DO pin resistance against 3V3 and GND wires in both directions is almost the same as on board he hadn't bricked yet - protection diodes and push/pull cascade are alive. moreover, voltage of D0 at power-on reaches ~0.4V on all boards and falls down after a while on "bricked" ones(btw, why the huck it rises up to 0.4V but not up to 3V3, as e.g. on DevKit V1 and so on - even with a 470R pull-up?!!), while on functional board it remains 0.4V forever.
so, we got some room to hope the hardware survived 5V torture and we're actually facing a troublesome, but software issue. fortunately, the program flash IC - 25Q32ESTIG - on these pieces of WeMos crap resides in the open air - we can connect it, try erasing and see if it helps.
and let me introduce my hero:

- My hero.png (28.2 KiB) Viewed 356 times
even if it isn't aware of exactly 25Q32, fails to read it's ID registers correctly and shows kind of stable ID values only at lowest SPI IO frequence, it turned out that enforcing "Unprotect" -> "Chip erase" breathed a second life into these pieces of WeMos crap: both "bricked" boards stable enter bootloader mode now and are successfully detected by ESP FlashDownloadTools 3.6.7.
what is the moral of this story?
at first, looks like WeMos Lite BOOT option circuit is as suxy-by-design(no button for user to control it and extremely low voltage level, even with strong external pull-up) as it can be bricked by software, altering D0 function.
at second, the arduino way has its downside - loss of control. without simple, basic level tools, like e.g. this one(which saved me many times when serial memory related issues happened and is a workhorse at dealing with AVR MCUs):

- IMG_20250422_015519.jpg (130.62 KiB) Viewed 356 times
(open source and can be assembled using not so expensive or even scrap ICs)
so, the story... when arduino way fails for some reason, without basic tools like these you just suck.
and the thing is with these basic tools you not only don't suck - you control the situation as much as you don't need this "arduino way" at all!(thanks to USBASP all my AVR arduinos are "downgraded" into simple development boards, equipped with USB-UART hardware)
and finally: would be great if platform designers respect this approach too, not only focus on this arduino ideology.