Blog

I am delighted to announce the release of my new online training course dedicated to STM32 programming, on the Udemy platform:
To the course "Getting started with STM32 MCUs programming"
PS: Udemy courses are regularly on sale, so it's worth checking from time to time ;)
I designed th...
Read articleIntroduction
During the execution of an application, processors work with numerical values called variables. For example, a processor may add, subtract or multiply variables. A variable is stored at a given address in the memory (or rather from a given address). It also has a certain size, which can be expressed either in bytes or in bits: it may be a single-byte (8 bits) or a multi-byte (n x 8 bits) value.
When the varia...
Read articleThe keyword volatile in C language (and also C++) is often misunderstood and underrated. However, it plays a crucial role in certain contexts, particularly in the field of embedded systems.
In this article, we'll explore the uses cases of the volatile keyword, see why it is required and how to properly use it.
What is the volatile keyword ?
Before seeing how to use it, let's first see what the volatile keyword is.
This is a type qualifier, just like the keyword const for e...
Python virtual environment: template project
3 Aug 2025
Introduction
Python is a very popular programming language for the developement of scripts and small applications. One of its main strenghts is the incredible amount of available libraries.
However, sharing a Python application is unfortunately not always an easy task, as this latter may be based on some libraries, which are not necessarily installed on the target machine. Worse, it's likely for the required library to be already already installed, but with a different version than required (and the library might have compatibility breaks between versions).
To overcome this problem, one can use virtual environments, a very powerful and convenient feature of Python....
Read article