The logic of the BSL pin is that the module checks this at power reset and enters boot loading mode in case it is low. The bootloader utility then sends frequent messages to the bootloader and by pressing reset the communication to the boot loader is initiated.
The use of the BSL pin is not necessary if you are using the bootloader utility tool. When the module starts (after a reset or a power up, etc.) it will listen on the UART for commands from the bootloader utility. If a bootloader command is received before the timeout, it will enter bootloader mode. Then it will stay in boot loading mode and wait without any timeout.
When you do a reset without BSL pin low, the module also enters boot loading mode, but only for a small time. This is what we normally use with our development kits.
The alternative is to use the BSL pin. Then you do not need to send anything on the UART to enter bootloader mode. If the BSL pin is held low during module start, it will enter bootloader mode automatically. In any case, the device still needs a reset to enable the bootloader, in both cases
Last Update: September 29, 2021