stm8-bootloader
FreeSerial bootloader for STM8S microcontrollers
FreeFree tier
About stm8-bootloader
A serial bootloader for STM8S and STM8L microcontrollers, designed to be small (fits in 547 bytes) and fast (uploads a 4k binary in 1 second at 115200 bps). It is configurable for different flash block sizes, boot addresses, and entry jumper pins, with optional interrupt vector relocation. The project includes a Python uploader utility and is open source under the MIT license. Note: the repository was archived on April 3, 2025, and is no longer maintained; a fork with additional features is available.
Key Features
Extremely small footprint (547 bytes) fitting in low-density devices
Fast firmware upload: 4 kilobytes in 1 second at 115200 bps
Configurable parameters: flash block size, boot address, entry jumper pin, interrupt vector relocation
Supports both STM8S and STM8L microcontroller families
Includes a Python-based uploader utility for flashing firmware
Open source with MIT license, allowing free use and modification
Pros & Cons
Pros
- Very small code size saves valuable flash memory
- High upload speed reduces programming time
- Configurable for different hardware setups
- Open source with permissive MIT license
- Comes with a ready-to-use uploader utility
Cons
- Repository archived and no longer maintained by the original author
- Requires an external UART-USB converter for communication
- Limited to STM8S and STM8L families; does not support all STM8 variants
- Only supports serial (UART) upload; no other interfaces like SPI or I2C
Best For
Programming and updating firmware on STM8S and STM8L microcontrollersEmbedded development and debugging with serial bootloadingCustom hardware projects requiring a minimal, configurable bootloader
FAQ
What microcontrollers are supported?
The bootloader supports STM8S and STM8L microcontrollers.
How do I upload firmware using this bootloader?
Short the BOOT_PIN (default PD3) to ground, power-cycle the MCU, then run the Python uploader utility (boot.py) with the firmware binary file.
Is this bootloader still maintained?
No. The repository was archived on April 3, 2025, and is now read-only. A fork by MKesenheimer with more features is available.