Skip to content
Inovasense

MCUboot

MCUboot — Open-source secure bootloader for 32-bit MCUs with verified boot, encrypted OTA updates, and rollback protection.

MCUboot — Secure Bootloader for Microcontrollers

MCUboot is an open-source, hardware-independent secure bootloader for 32-bit microcontrollers. It provides the root of trust at the firmware level — ensuring that only cryptographically signed, authentic firmware images can execute on a device. MCUboot is the de facto bootloader for Zephyr RTOS and is increasingly required for CRA compliance.

Why MCUboot Matters

Without a secure bootloader, anyone with physical or remote access can flash modified firmware onto a device — bypassing all software security. MCUboot prevents this by:

  1. Verifying signatures before executing any firmware image
  2. Managing firmware slots for safe over-the-air (OTA) updates
  3. Rolling back to a known-good image if a new update fails
  4. Encrypting firmware images to prevent reverse engineering

Key Features

FeatureDescription
Image signingEd25519, ECDSA-P256, RSA-2048/3072 signature verification
Encrypted imagesAES-CTR-128/256 firmware encryption at rest
Dual-slot updatePrimary + secondary slot for fail-safe firmware swaps
Swap using scratchResumable updates — survives power loss mid-update
Rollback protectionMonotonic version counters prevent downgrade attacks
Serial recoveryMCUmgr protocol for USB/UART recovery if OTA fails
Measured bootHash chain for hardware attestation (TPM/TrustZone)

Update Modes

ModeMechanismPower-Loss SafeFlash Wear
Swap (scratch)Copy primary → scratch, secondary → primary✅ ResumableHigher
Swap (move)In-place sector shuffling (no scratch area)✅ ResumableMedium
OverwriteDirect overwrite of primary slotLowest
Direct XIPExecute from either slot (no copy)None

Supported Platforms

MCUboot is OS and hardware independent. It supports:

  • RTOS: Zephyr, FreeRTOS, Apache NuttX, Apache Mynewt, Mbed OS, RIOT
  • Vendors: Nordic (nRF52/53/91), STMicroelectronics (STM32L5, STM32U5, STM32H5), NXP (LPC, i.MX RT), Espressif (ESP32), Infineon/Cypress (PSoC 6)
  • Architectures: ARM Cortex-M, RISC-V, Xtensa

CRA Compliance Connection

The EU Cyber Resilience Act mandates that connected products implement:

  • ✅ Authenticated firmware updates — MCUboot provides this via image signing
  • ✅ Rollback protection — MCUboot enforces monotonic version counters
  • ✅ Vulnerability management infrastructure — MCUboot enables rapid security patch deployment via OTA
  • Secure Boot — The broader concept of verified boot chains; MCUboot is the implementation layer for MCU-based systems.
  • OTA Update — MCUboot manages the firmware slot swapping that makes secure OTA possible.
  • CRA — EU legislation requiring secure boot and authenticated updates for all connected products.

MCUboot is our default bootloader for all embedded development projects — ensuring CRA-compliant secure boot and OTA from day one. See our Embedded Security & IoT capabilities.