Secure Bootloader for ARM Cortex-M MCU

CycloneBOOT is a secure bootloader targeting 32-bit microcontrollers. You will be able to update your firmware securely as CycloneBOOT employs several encryption algorithms to make sure that your firmware is always under lock and key.

CycloneBOOT is protocol agnostic, meaning that a firmware update can be performed using various physical media (Ethernet LAN, Wi-Fi, Cellular Modem, USB, UART, SD card...). In any case, during the firmware update process, CycloneBOOT rigorously verifies the integrity of each data packet.

CycloneBOOT is available either as open source (GPLv2 license) or under a royalty-free commercial license (non-GPL license). We also propose an evaluation license (90-day license in source form) with technical support for an easier onboarding and effective evaluation of our software.

CycloneBOOT Secure TCP/IP Bootloader for Microcontroller (MCU)

Main Features

  • Secure bootloader for 32-bit MCUs
  • Can be integrated in client or server operation
  • Provides In-Application Programming (IAP) support
  • Support for dual-bank flash, single-bank flash and external flash
  • Can run alongside a RTOS or in bare metal
  • Support for encrypted firmware (using AES-CBC)
  • Firmware image with signature (using RSA, ECDSA), authenticity (using HMAC), or integrity verification (using CRC32, SHA-1, MD5, SHA-256 or SHA-512)
  • Fallback support (Backup current firmware and restore it if required)
  • Anti-rollback support (Prevent rolling-back to a known faulty firmware version)
  • PC utility running on Windows or Linux to build the firmware image (can encrypt the firmware and compute an integrity tag, an authentication tag, or a signature)

Supported Microcontrolers

  • STM32L4
  • STM32F4
  • STM32F7
  • STM32H7
  • ATSAM54
More to come!

Easy to use with TCP/IP Protocols

With our experience on TCP/IP protocols we can provide you with ready-to-go demonstrations by bundling CycloneBOOT with CycloneTCP/SSL/SSH.

  • SFTP / SCP ...

Download CycloneBOOT

CycloneBOOT Release History

This section provides version history and main changes.

2.0.2Jul. 29, 2022Open | Eval
  • Improved parsing process for the image update
  • Added new demo boards (Nucleo-STM32H7A3-ZIQ, Nucleo-STM32L496-ZG, SAME54-Xplained-Pro)
  • Added new demo projects on STM32 evaluation boards (IAP Demo through USB/RNDIS with HTTP Server protocol, IAP Demo through UART with Y-Modem protocol)
2.0.0Mar. 25, 2022Open | Eval
  • Updated CycloneBOOT architecture for better modularity and portability
  • Support for 'Single Bank' and 'Dual Bank' flash devices
  • Added support for external flash memory devices through an abstraction layer
  • Included a static bootloader to perform advanced firmware update scenarios
  • Added support for Fallback & Anti-rollback features during firmware update
  • Expanded Cryprographic algorithms support for firmware security
  • Include Windows and Linux support for desktop utility for creating update images
  • Demo projects for STM32 targets (Nucleo-F429ZI, Nucleo-F767ZI, STM32F769I-DISCO evaluation boards)
1.0.1Apr. 09, 2021Open
  • Legacy CycloneBOOT demonstration package (IAP library) on STM32F4 and STM32F7 MCUs with dual bank flash capability
  • GNU GCC / Makefile
  • Atollic TrueSTUDIO
  • IAR Embedded Workbench
  • Keil MDK-ARM
  • SEGGER Embedded Studio
  • AC6 System Workbench for STM32 (SW4STM32)
  • ST STM32CubeIDE