Containerizing Yocto the CQFD Way

Have you ever struggled to create a single Yocto project that can accommodate multiple variants, such as different hardware or software configurations? Containerizing Yocto can be a solution, but the complexity can be overwhelming. That’s where CQFD comes in. The Yocto Project is an open-source embedded Linux development framework that provides a flexible and customizable […]
VOOX: A Hardware Shield For Embedded Systems

In today’s interconnected world, embedded systems are both ubiquitous and increasingly vulnerable to cyberattacks. In fact, cybersecurity is often not just a matter of protecting sensitive data and installations, but a legal requirement. VOOX’s technologies revolutionize the way we protect systems while improving determinism and overall performance. Let’s see how they work. Embedded systems are […]
A Digital Artifact: My 25-Year-Old USB Drive

While cleaning out my desk drawers recently, I stumbled upon a small, unassuming object that transported me back in time. It was a 32 MB (not a typo) USB flash drive, a relic from the early days of digital storage. This particular device was a gift from M-Systems, a pioneering company in the field of […]
A Daughter’s Guide to Engineering

Recently, my 16-year-old daughter came to me with this question: “Dad, do you think I could be an embedded systems engineer like you?” I was thrilled by her interest. This is what I shared with her. My dear Lili, I’m so happy you’re considering a career in embedded systems. It’s a world full of endless […]
Task Priorities in FreeRTOS – Part 4: The Pitfalls of Too Many Priorities

In our previous articles (part 1, part 2, part 3), we established a foundation for task prioritization in FreeRTOS, outlining a multi-tier system for effective task management. While we’ve introduced several priority levels to accommodate different task types, it’s essential to understand the potential drawbacks of excessive priority levels. The Perils of Proliferation While it […]
Streamline Embedded Communication with Protobuf

When it comes to embedded systems, resource constraints are king. Every byte of memory and every cycle of processing power needs to be carefully considered. This can be a major challenge when you need to communicate complex data between your tiny embedded device and a powerful PC. Traditional data formats like JSON and XML can […]
Task Priorities in FreeRTOS – Part 3: The Importance of Low-Priority Tasks

In our previous articles (part 1, part 2), we established a foundation for task prioritization in FreeRTOS, outlining a multi-tier system for effective task management. To further refine our task hierarchy and optimize system performance, we will now introduce a new priority level for tasks that are critical but do not require immediate execution. The […]
C++ on Microcontrollers: A Fragmented Perspective

The integration of C++ into the realm of embedded systems, particularly microcontrollers, has been a significant development. This powerful language, with its object-oriented paradigm and rich standard library, offers a compelling proposition for developers. However, when it comes to the constraints of microcontrollers the allure of C++ starts to fade. The MMU: A Missing Piece […]
Task Priorities in FreeRTOS – Part 2: Beyond the Basics

In our previous article, we established a foundation for task prioritization in FreeRTOS, suggesting a three-tier system for most applications. However, certain applications may require an additional layer of complexity. In this article, we’ll introduce a dedicated priority level for a specific yet common type of tasks: device drivers. Understanding the Device Driver Challenge While […]
Matter: Does It?

The smart home industry has long craved a universal language for its devices. Matter, backed by tech giants, was positioned as the savior. It promised to eliminate the compatibility chaos and simplify smart home setups. Yet, despite industry support and lofty goals, Matter seems to be struggling to gain significant traction. Matter is a relatively […]