Posted in 2025
Embedded Time Management
- 08 August 2025
As an embedded project matures, having methods to track timing and durations become necessary. In this post I’ll describe how I typically implement time in an embedded project so its cross platform while also not slowing down unit tests.
Release Versioning In C/C++ Projects
- 10 June 2025
How do you define semver in a large C/C++ project? For CMake-based projects the simplest solution is to rely on the version info passed to the CMake project
directive. But what do you do when you have multiple languages/tools in a monorepo that need access to the project semver? In this situation, I’ve developed a somewhat simple solution for a single, easily accessible source of truth on project semver information.
Writing Embedded Device Drivers
- 27 May 2025
In this post I wanted to quickly describe some of the guiding principles I follow when writing device drivers in C++ for an embedded project. By “device driver” I mean the code that provides an interface between your application and some hardware device on an embedded system. For instance: an IMU, a temperature sensor, an ADC sensor, a motor controller, etc.
Docker for SW Development
- 01 February 2025
This is from a lunch-n-learn I hosted which aimed to showcase the features and advantages of using docker during the development process. It includes with a few tutorials on how to use it.