Operations | Monitoring | ITSM | DevOps | Cloud

Memfault

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

Our panel of embedded engineering experts has decades of experience building complex IoT products for successful launches across different industries. They’ve seen and triaged countless issues and will provide you with insights they’ve learned throughout their careers. Learn everything it takes to successfully ship a new embedded device.

An Introduction to Memfault's IoT Reliability Platform

Memfault's platform includes device debugging, performance monitoring, and over-the-air update capabilities. These not only help streamline the device development process and quickly identify and resolve issues; but additionally provide insights into your device performance, identify trends, and proactively address potential problems before they impact users. Watch to see a demo of our IoT reliability platform.

Bazel Build System for Embedded Projects

Selecting a build system is an essential decision when creating a project. Changing is always painful, especially in a mature repository. Therefore the choice should be made carefully. With this article, I will try to describe a few advantages of what Bazel can provide in the context of an embedded repository and show how to set up a build environment with a cross compiler from scratch.

Over the Air Updates for Embedded Linux Devices

Over-the-air (OTA) updates for Embedded Linux devices require the perfect collaboration of many complex and misunderstood components. With the risk of bricking devices always present, this is an area you want to understand well. Watch this webinar with Linux Tech Lead Thomas Sarlandie to learn how to implement a secure and reliable OTA update system.

Zephyr Deep Dive: Ring Buffers

Zephyr includes many built-in features like stacks for networking and BLE, Flash storage APIs, and many kernel services. These components allow you to quickly get up and running with a project and maintain less code! Taking advantage of these is a huge win for small firmware teams and was a huge motivation in bringing Zephyr to my teams. This post covers Zephyr’s built-in ring buffer API, a component commonly used in producer-consumer scenarios.

C++17's Useful Features for Embedded Systems

Recently, our team at Meteksan Defense is upgrading its development environment to use newer versions of many tools and programming languages. One of the more difficult transitions has been the upgrade of our C++11 code base to C++17 for our embedded applications. In this article, I will be showing some features of C++17 that can also be helpful in the embedded world. Note that the migration from C++11 to C++17 covers C++14 also, hence I will touch upon some aspects of it as well.

OTA for Embedded Linux Devices: A practical introduction

A core belief of Memfault is that we can ship faster when we have good infrastructure in place. An essential piece of this infrastructure is tools to send firmware updates over the air. It enables the team to ship more often and spend more time building features. In this article, we look specifically at what is required to ship over-the-air firmware updates for Linux systems. A good OTA setup should allow you to quickly prepare updates and ship them with confidence.

Pocket article: Debug vs. Release Builds Considered Harmful

Separate “debug” and “release” builds are very common in embedded development. Typically the notion is improved debug capabilities (less aggressive compiler optimizations, more debugging information like logs) vs. highly optimized and hardened production release builds. I’m here to describe disadvantages to this practice, and why it might make sense to consolidate to a single build! Like Interrupt? Subscribe to get our latest posts straight to your mailbox.