2025-05-12 3:03 AM
2025-05-12 4:43 AM
> How does a pull-down resistor remove the need for an expensive switch? Does it have something to do with the switch momentarily connecting 3.3V to GND when switching it?
"Boot0" is a functionality assigned to this pin only during startup, i.e. the reset phase.
At this point, the core samples the state of all designated "Boot<n>" pins, and take action accordingly.
I assume Boot0=Low implies your MCU variant executes the ROM / system bootloader. Details are described in the datasheet/reference manual.
During "normal" operation, this "Boot" functionality is of no significance, you can use this pin for other purposes (GPIO, serial IO, analog, etc.).
A high-impedance pull-down would not interfere with most other functionalities.
However, you probably don't want to start into the ROM bootloader every time, just on occasions to perform a firmware update. Thus a fixed pull-down resistor is probably not what you want.
2025-05-12 3:22 AM
A pull-down resistor is usually used because you then do not need an (expensive) switch and only have to set BOOT0 to H. However, you can of course also use a switch as long as the BOOT0 of the STM32, whose type you have not specified, has no alternative function.
Hope that helps?
Regards
/Peter
2025-05-12 3:35 AM
> Pin 2 is connected to Boot0.
I think this is formally not correct. Pin 2 <is> Boot0.
As Peter Bench noted, a direct connection vis switch is not a problem.
However, besides of the additional costs, you might be unable to use the pin for other purposes. Which becomes more critical with low-pin count packages.
A jumper bridge is cheaper.
2025-05-12 3:47 AM - edited 2025-05-12 3:48 AM
Hi Peter
Thanks for the reply.
How does a pull-down resistor remove the need for an expensive switch? Does it have something to do with the switch momentarily connecting 3.3V to GND when switching it?
2025-05-12 3:54 AM
A high-impedance pull-down can easily be overwritten by an external or internal signal, so that, as @Ozone wrote, the pin can also be used for other purposes. This external signal can also be a jumper after VDD, which activates the bootloader in the event of a RESET.
2025-05-12 4:43 AM
> How does a pull-down resistor remove the need for an expensive switch? Does it have something to do with the switch momentarily connecting 3.3V to GND when switching it?
"Boot0" is a functionality assigned to this pin only during startup, i.e. the reset phase.
At this point, the core samples the state of all designated "Boot<n>" pins, and take action accordingly.
I assume Boot0=Low implies your MCU variant executes the ROM / system bootloader. Details are described in the datasheet/reference manual.
During "normal" operation, this "Boot" functionality is of no significance, you can use this pin for other purposes (GPIO, serial IO, analog, etc.).
A high-impedance pull-down would not interfere with most other functionalities.
However, you probably don't want to start into the ROM bootloader every time, just on occasions to perform a firmware update. Thus a fixed pull-down resistor is probably not what you want.
2025-05-12 5:02 AM
Oh i get it now. Thanks @Ozone and @Peter BENSCH , that was very helpful!