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 […]
Task Priorities in FreeRTOS – Part 1: The Essential Three

Many FreeRTOS beginners grapple with a practical question: how many task priorities are “enough”? Documentation and tutorials often focus on technical details, leaving this crucial good-practice consideration unanswered. This series tackles this very question, guiding you from the essential minimum to strategic priority use. A Message From Max Dear Embedded Experts – I’m developing an […]
Keeping Time with Tradition: A Classic Jaguar’s Clock Revival

As a white-haired embedded systems engineer, I appreciate the beauty of both classic design and modern technology. This story combines both perfectly, thanks to the ingenious work of Clocks4Classics. It all started with my 1964 Jaguar S-Type’s beloved, yet malfunctioning, mechanical dash clock. The Inner Workings of a Timeless Design The original clock relied on […]
Raspberry Pi – Prototyping Hero, Production Headache?

The Raspberry Pi’s affordability and user-friendly Linux environment make it a popular choice for embedded systems. But is it truly the best fit for every project, especially when it comes to professional products and production environments? Raspberry Pi: A Rapid Prototyping Powerhouse There’s no denying the Raspberry Pi’s prowess in rapid prototyping. Its ease of […]