STM32 Modbus RTU server tutorial

This hands-on tutorial explains how to setup a Modbus RTU server on an STM32 microcontroller system. We’ll use a Nucleo-F401RE board in combination with the STM32CubeIDE development environment. However, you can use any other STM32 microcontroller board.

Feature image for the STM32 Modbus RTU server tutorial
Continue reading
Posted in MicroTBX, STM32 | Tagged , | Comments Off on STM32 Modbus RTU server tutorial

MicroTBX-Modbus 0.9.0 release notes

Towards the end of last week, I created the first public release of the Modbus communication stack, build on top of the MicroTBX microcontroller toolbox. Wait..Modbus? Isn’t that that old communication protocol, the one that nobody uses anymore? Well, that’s what I thought too. Turns out I was wrong.

Brief overview of the MicroTBX-Modbus release version 0.9.0 including download link.
Continue reading
Posted in MicroTBX | Tagged , , | Comments Off on MicroTBX-Modbus 0.9.0 release notes

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