OpenBLT 1.15.0 release notes

The OpenBLT 1.15.0 release was made last Monday, after another half year of development work. 21 tickets were processed, which resulted in 52 commits. Feel free to download the new version of the OpenBLT bootloader and give it a try. This release is on track with the standard release cycle. This article describes in more detail what you can expect from the new OpenBLT release.

Redmine roadmap progress image showing that OpenBLT release 1.15 is ready and on time.

“More ports” describes this new OpenBLT release the best. A few highlights:

  • Developed a new port for the Infineon AURIX TriCore TC3 family.
  • Developed a new port for the ST STM32L0 family.
  • Developed a new port for the ST STM32L1 family.
Continue reading
Posted in OpenBLT | Tagged , , | Comments Off on OpenBLT 1.15.0 release notes

OpenBLT 1.14.0 release notes

The OpenBLT 1.14.0 release was made last Friday, after another half year of development work. 20 tickets were processed, which resulted in 23 commits. Feel free to download the new version of the OpenBLT bootloader and give it a try. This release is on track with the standard release cycle. This article describes in more detail what you can expect from the new OpenBLT release.

“Shiny new things” describes this new OpenBLT release the best. A few highlights:

  • Availability of LibMicroBLT, the OpenBLT Embedded Library.
  • 64-bit version of the Windows PC tools.
  • Automatic dependency generation in the Makefiles.
  • Improved data throughput on RS232 and TCP/IP.
Continue reading
Posted in OpenBLT | Tagged , , | Comments Off on OpenBLT 1.14.0 release notes

MicroTBX 1.0.0 release notes

About three years ago, I publicly released MicroTBX for the first time. MicroTBX is a free embedded software library, packed with functionality commonly needed in embedded software applications. Over time, I kept on working on MicroTBX to the point that it is now ready for the official version 1.0.0 release. This article describes the release notes of MicroTBX version 1.0.0.

Continue reading
Posted in MicroTBX | Tagged | Comments Off on MicroTBX 1.0.0 release notes

How to update the OpenBLT bootloader itself

The OpenBLT bootloader offers a versatile and flexible solution for in-field firmware updates on your embedded system. It’s a mature and stable bootloader solution. Pretty much Flash-and-forget. Over the last decade no one reported that firmware updates stopped working for some reason. Nonetheless, a situation might arise where you want to update the bootloader itself. Perhaps you added a new feature or simply just want to upgrade to the latest stable release of OpenBLT. Not a problem if you can still connect a JTAG or SWD type programming interface.

However, that is not always possible. You might not offer a connector for this on your final PCB or it’s no longer physically accessible. Some users even secure their microcontroller such that access with a debugger or programming interface is completely locked out. In this scenario the following question pops up in my inbox: Can I update the OpenBLT bootloader itself? Well, no..but also yes. Read on for more details.

Overview that shows how to update the OpenBLT bootloader itself, by using a secondary OpenBLT bootloader.
Continue reading
Posted in OpenBLT | Tagged , | Comments Off on How to update the OpenBLT bootloader itself

Introducing the LibMicroBLT library

The OpenBLT bootloader just got even better. Last week saw the release of the OpenBLT embedded library, or LibMicroBLT in short. The LibMicroBLT library contains all the functionality for performing a firmware update on another connected microcontroller, running the OpenBLT bootloader. Think of LibMicroBLT as a microcontroller optimized version of the OpenBLT host library (LibOpenBLT). The following picture illustrates in what type of system architecture you could use LibMicroBLT:

Illustration showing the architecture of a system, featuriing a main controller that integrates LibMicroBLT.
Continue reading
Posted in OpenBLT | Tagged , | Comments Off on Introducing the LibMicroBLT library

OpenBLT 1.13.0 release notes

The OpenBLT 1.13.0 release was made last Friday, after another half year of development work. 20 tickets were processed, which resulted in 38 commits. Feel free to download the new version of the OpenBLT bootloader and give it a try. This release is on track with the standard release cycle. This article describes in more detail what you can expect from the new OpenBLT release.

Roadmap image showing the 100% progress on the OpenBLT 1.13.0 release.

“Improved CAN support” describes this new OpenBLT stable release the best. A few highlights:

  • Support for Ixxat CAN PC interfaces from HMS Products.
  • Support for CAN in the STM32G0 port.
  • Resolved an issue that caused extremely slow firmware updates via CAN for certain users on Windows 10.
  • Developed a new port for the ST STM32G4 microcontroller family.
  • Added demo programs for the Nucleo-G474RE, Nucleo-G0B1RE and Nucleo-L496ZG boards.
Continue reading
Posted in OpenBLT | Tagged , , | Comments Off on OpenBLT 1.13.0 release notes

Reflecting on 10 years of the OpenBLT bootloader

The 12th of November 2021 marked a special day for the OpenBLT bootloader: Its 10-year anniversary. A great opportunity to take a moment and reflect on its history and ponder the question of how it became such a success.

Version 0.90.0 was the first ever open source version of the OpenBLT bootloader. I published it on SourceForge on the 12th of November 2011. You can still download it:

Partial web browser screenshot of where you can download the first public release of the OpenBLT (version 0.90.0) from SourceForge.

Only 1 MB in size and it supported just one microcontroller family, the NXP LPC2000 series based on an ARM7 core. In contrast, the current stable release (version 1.12.1) is 137 MB in size and supports nineteen different microcontroller families. The majority of them Cortex-M core based, simply because that is what most of us are using nowadays.

Continue reading
Posted in OpenBLT | Tagged , , | Comments Off on Reflecting on 10 years of the OpenBLT bootloader

OpenBLT 1.12.0 release notes

The OpenBLT 1.12.0 release was made earlier today, after another half year of development work. 18 tickets were processed, which resulted in 45 commits. Feel free to download the new version of the OpenBLT bootloader and give it a try. This release is on track with the standard release cycle. This article describes in more detail what you can expect from the new OpenBLT release.

Roadmap overview of the OpenBLT version 1.12.0 release. It shows that the release is on time and that 18 tickets were processed.

“Shiny new things and some spring cleaning” describes this new OpenBLT stable release the best. A few highlights:

  • LibOpenBLT now features C# bindings, for those that plan on developing their own firmware update tool in C#.
  • A new port for the ST STM32L5 microcontroller family was developed, including Nucleo-L552ZE demo programs.
  • New demo programs for the popular Nucleo-F429ZI board were developed, replacing the Olimex STM32-E407 demo programs.
  • Demo programs for the Keil MDK IDE were added for all supported ST STM32 boards.
Continue reading
Posted in OpenBLT | Tagged , | Comments Off on OpenBLT 1.12.0 release notes

Develop your own firmware update tool in C# with LibOpenBLT

Did you know that the OpenBLT bootloader includes a shared library, allowing you to quickly develop your own firmware update tool? This library is called LibOpenBLT. Recently, I developed LibOpenBLT bindings for the C# programming language. It’s basically a wrapper class for easily accessing the functionality inside LibOpenBLT. This article explains how to get started with the C# bindings for LibOpenBLT. Together we’ll build a firmware update tool in the C# programming language.

Screenshot of the C# console application in Visual Studio that uses the LibOpenBLT C# bindings.
Continue reading
Posted in OpenBLT | Tagged , | Comments Off on Develop your own firmware update tool in C# with LibOpenBLT

Install STM32CubeIDE on Linux as a Flatpak

This tutorial shows you how to install STM32CubeIDE as a Flatpak on Linux. STM32CubeIDE is an Eclipse based C/C++ integrated development environment for STM32 microcontrollers. Besides functionality for compiling, linking and debugging your STM32 firmware, STM32CubeIDE also integrates the CubeMX tool. CubeMX makes it quick and easy to configure your STM32 microcontroller. STMicroelectronics develops and maintains STM32CubeIDE and they decided to offer STM32CubeIDE to your at no cost.

Decorative image for the article about how to install STM32CubeIDE on Linux as a Flatpak.

STM32CubeIDE is truly cross-platform. You can use it on Windows 10, Linux and macOS. Personally, I find this feature the most appealing, since I prefer Linux for my development work. The ST website offers download links and installation information for Linux. What most users don’t realize is that you can also install the STM32CubeIDE as a Flatpak on your Linux system. For this reason I dedicated this article to the topic of installing STM32CubeIDE on Linux as a Flatpak.

Continue reading
Posted in STM32 | Tagged | Comments Off on Install STM32CubeIDE on Linux as a Flatpak