Important notes before we begin:
* You MUST setup a clock and the serial lines for the chip. This is easily done by selecting a start-up script such as connecting to the "AES SimpleSerial on XMEGA" startup scriptscope and target, then running <code>default_setup()</code>:<syntaxhighlight lang=python>import chipwhisperer as cwscope = cw.scopetarget = cw.target(scope)scope.default_setup()</syntaxhighlight>* On the STM32F1, you MUST adjust the clock frequency to 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency. '''This 8MHz frequency does not apply to the code that you're running on the device. Once you're done programming, you'll need to set the frequency back to F_CPU (likely 7.37MHz)'''For example: <syntaxhighlight lang=python>scope.default_setup()scope.clock.clkgen_freq = 8E6#program target...scope.clock.clkgen_freq = 7.37E6#reset and run as usual</syntaxhighlight>
To access the bootloader you can perform these steps. They vary based on if you have a "Rev 02" board or a "Rev 03 or Later" board. The revision number is printed on the bottom side as part of the PCB part number (STM32F-03 is Rev -03 for example).