Meson Pattern: Monorepo that Supports Individual Subproject Builds

As mentioned in the article, Develop in a Monorepo and Distribute to Standalone Repositories Develop in a Monorepo and Distribute to Standalone Repositories, we've merged many of our repos into a monorepo setup, but we're going to continue to distribute changes to the existing standalone repositories. To support this model, we have the following requirements …

From Concept to Launch: What It Takes to Build and Ship a New Device

Embedded Artistry and Memfault are joining forces to host a quarterly embedded discussion panel that is focused on the technical aspects of building embedded systems at scale. We will be featuring guest panel members who are at the cutting edge of embedded development. Our goal is to spread beneficial techniques and practices throughout the industry. …

The Simple Fixes on the Quest for Improved Performance

Many people are interested in becoming more effective, improving their quality of life, having a better recall of what they learn, performing at a higher level, producing fewer errors, etc. You can find countless podcasts, books, articles, and tweets on the topic. People want to adopt strategies or structure their day to maximize effectiveness. But …

Building a Simplified CLI Using Invoke (for Monorepo Management)

Our monorepo work has involved creating several helper scripts to handle repeated complex operations. This is essential, but let me tell you, it's annoying to always be in the monorepo root and to invoke these scripts by the full path. I'm a huge fan of creating simplified CLI interfaces to make work easier. My usual …

Q&A: How Do You Manage Updates that Introduce Incompatible Changes?

Here's a question we answered in the Interrupt Slack channel after the OTA updates panel. We're sharing the answer on our blog to make it available to a wider audience. "" Quote What’s the best strategy to introduce incompatible changes regarding update-functionality, transport protokol, etc.? For starters, you need to version everything that might change …

Q&A: Where Should Firmware Update Capabilities Live?

Here's a question we answered in the Interrupt Slack channel after the OTA updates panel. We're sharing the answer on our blog to make it available to a wider audience. ""Quote Thoughts on implementing the update application outside of the bootloader, such as in a userspace process? Ultimately, where the updater lives is dependent on …