I had an interesting thought this morning regarding the need for the 10K series resistor. Note: strictly conjecture.
As I read the STM32 literature, they mention that the GPIO pins can be set with internal pull ups and pull downs of approximately 40K value. What I don't know is whether the BOOT0 is "special" or it is also capable of invoking a pull up or pull down.
For arguments sake, lets assume that the BOOT0 pin is settable to an internal pulldown of 40K....could it be that for whatever reason, this is the case for some rare STM32s?
Searching around the web, I found a report of someone measuring the pin voltage on a "bad" blue pill BOOT0 pin with the 100K in place. They reported measuring 1.1 volts. They replaced the 100K with 10K and it worked fine.
Further extending my conjecture:
With pulldown invoked and 100K resistor and 3.3 volts VDD, the pin would see about 0.94 volts...yes, not exactly 1.1 volts, but the internal pull down and pull up resistors are not specified to be very accurate. Now swap in the 10k for the 100K. The voltage with the pull down in place would now read about 2.6 volts, within the legitimate asserted level.
Can anyone cite any published information on whether the BOOT0 pin is capable of being configured to have a 40K internal pulldown i.e. is it just like any other GPIO pin? Also, any thoughts on whether the above scenario could happen? Are the GPIO states of the pins explicitly configured (pull up, pull down, open, input...) on chip power up?
A couple of implications: if above is correct, it should (????) be possible to configure a good STM32 BOOT0 to be "bad" by invoking an internal pull down on that pin? Would it persist through power cycles? Having a hard time thinking this through...
Critique much appreciated...