Python based basic firmware flash and utility tool.
Table of Contents
PyBlasher runs in GUI mode by default.
To manually run the CLI run use the -c or --cli flag.
python3 main.py --cli # py instead of "python3" for Windows.There are 2 primary operating modes that affect USB-to-UART bootloader flashing:
- Default: Handsfree programming.
- Modified: Manual BOOT0 control.
BOOT0is disconnected either buy a hardware slide switch or jumper.- Users using the modified mode will have additional steps, format of the
additional steps shown below:
- For modified boards: Example step only required for Manual BOOT0 control.
Steps:
-
If not done so already, download the Silicon Labs's VCP CP210x USB to UART Bridge VCP Drivers.
-
For modified boards: Manually short or close the
BOOT0jumper. -
Connect your desktop computer to the dev board's USB-C.
-
Run PyBlasher.
-
PyBlasher should find the connected port automatically at the top.
COMxxfor Windows./dev/tty.usbserial-*for macOS./dev/ttyUSB*for Linux.
- If not found, reconnect to the dev board's USB-C and click the
Refresh portsbutton. - If there is more than 1 board connected, you can click the top button and cycle through the port options.
-
Drag and drop the firmware
.binfile or browse manually. -
Click the
Flash firmwarebutton.- Firmware flashing will begin, the
UART RXandUART TXleds should flash throughout the process.
- Firmware flashing will begin, the
-
Upon completion of flashing, the dev board will auto reset.
-
For modified boards: Re-open the
BOOT0jumper and reset the STM32 MCU (short NRST to ground) to begin running the firmware.
Windows:
- Open Device Manager.
- Under
Ports (COM & LPT)find theCOMxport named something along the lines ofSilicon Labs CP210x USB to UART Bridge (COMx).
macOS: Open a terminal and enter the following command:
ls /dev/tty.* /dev/cu.*- The expected name is similar to
/dev/tty.usbserial-*.
Linux: Open a terminal and enter the following command:
dmesg | grep tty- The expected name is
/dev/ttyUSB*.
The PyInstaller macOS, Windows, Linux builds workflow is saved in docs/pyinstaller.yaml for reference.
- Discontinued use due to fatal error on Windows build related to Kivy and OpenGL versions, see issue #2.
The badge markdown would be as follows:

Based on YouTube: Convert GUI App to Real Program - Python to exe to setup wizard by PythonSimplified.
Windows:
pyinstaller --name PyBlasher --onefile --windowed --icon=assets/icon.ico --hidden-import=win32timezone main.pymacOS:
pyinstaller --name PyBlasher --onedir --windowed --icon assets/icon.icns main.pyHidden imports ensures explicit inclusion of required dependencies.
Setup file compiled via: Inno Setup.
