All posts published before today (25th May 2026) on this blog have been removed as part of a reorganization. They will gradually be restored.
Getting Started with CMake
CMake is an open-source, cross-platform build system generator. It uses configuration files (one or more CMakeLists.txt) to produce build system files. Once you have these build systems files, you can launch them directly to compile and link your project. This article provides a practical introduction to CMake: a simple project with a simple configuration file…
How I organise My Embedded Codebase
In this article, I will talk about the reusable project structure I use for bare metal firmware or for RTOS-based firmware that doesn’t already define its own structure (e.g. when I use Zephyr, I use a different project structure). My project structure is currently as follows; however, it is continuously evolving and being improved over…