LeanBoot is a production-ready automotive bootloader designed for reliable firmware updates in ECUs. Built on the UDS (ISO 14229) protocol, it supports controlled flash programming through diagnostic tools while maintaining firmware integrity during the update process.
The bootloader architecture is based on a dedicated bootloader application layered over essential MCU drivers such as CAN, Flash, Watchdog, Timers, Clock, and Port/Pin configuration. Diagnostic services are handled through the UDS library, enabling session control, security access, data download, transfer, and verification as part of a robust reprogramming flow. This ensures predictable execution and safe reflash.
LeanBoot supports ECU reprogramming via ISO 14229 UDS using standard diagnostic requests, some of them are:
The bootloader controls the reprogramming flow and safely transfers execution to the application after completion.
LeanBoot performs controlled flash erase and write operations through the Flash driver to ensure data consistency.
Diagnostic communication is handled through CAN. The bootloader exchanges UDS request and response messages with the tester.
LeanBoot uses watchdog and timer services to supervise long programming operations.
LeanBoot Controls transfer of execution from the bootloader to the application after programming.
LeanBoot is built for production ECUs, offering predictable behavior, controlled reprogramming, and easy integration.
Structured erase and write operations using UDS services and the Flash driver.
ISO 14229–based programming compatible with standard CAN diagnostic tools.
Minimal footprint with efficient execution and fast startup.
LeanBoot supports standard diagnostic-based ECU reprogramming use cases where firmware updates are performed using UDS services over CAN in a controlled and predictable manner.
Production ECU Reprogramming
Development & Validation Reflash
Application Recovery via Reflash
Field Software Updates (Wired)
LeanBoot is available for major automotive-grade microcontroller platforms:
Infineon:TC37xx, TC2xx
NXP:MPC57xx, S9KEAxx
Renesas: RH850, RL78, RA4W1
STMicroelectronics:STM32C092RCT6