• LTE and IoT - How We Got Here

    In this article, I describe some of my findings from a recent investigation of how LTE technology was built for IoT systems. Complete with some history and a few diagrams to illustrate cellular network architecture and LTE power-saving features like eDRX and PSM, this read will give a nice introduction to LTE in embedded systems.

  • What we've been reading in November (2023)

    Here are the articles, videos, and tools that we’ve been excited about this November.

  • Diving into JTAG - Overview (Part 1)

    As the first segment of a three-part series on JTAG, this post will give an overview of JTAG to set up some more in-depth discussions on debugging and JTAG Boundary-Scan. We will dive into the intricacies of the interface, such as the Test Access Port (TAP), key registers, instructions, and JTAG’s finite state machine.

  • Visualizing Real-time Data With STMViewer

    If you’ve ever wanted to plot data acquired on your embedded target, this article is for you. It explores common use cases for real-time data visualization using STMViewer. Say goodbye to manual, time-consuming, and error-prone data collection and display methods to speed up your debugging process.

  • Counting Crashes to Improve Device Reliability

    This post will cover the most common reliability metrics that hardware manufacturers use. It will explore which are best for IoT devices, including a novel measurement, Crash Free Hours. We’ll cover exactly what you’ll need to collect on your devices within firmware to measure device reliability and ensure your devices are working as expected.

  • What we've been reading in October (2023)

    Here are the articles, videos, and tools that we’ve been excited about this October.

  • Rust on Yocto: A Seamless Integration

    At Memfault, our love affair with Rust began in late 2022. What drew us to Rust? Well, the typical allure of a modern programming language: an impressive type-system, memory safety without the constant jitters, efficient concurrency management, a thriving package ecosystem, and overwhelming support from our engineering team. To put it simply, we’re smitten. Our journey with Rust has been nothing short of transformative, enabling rapid progress and leading us to conquer challenges we previously deemed … non-trivial.

  • MCU Peripheral Forwarding

    PC applications that interact with MCUs are used by developers for a number of reasons, such as data visualization, monitoring during testing campaigns, and command and control via a GUI. In this article, we’ll explore mapping an MCU’s peripherals to your personal computer to simplify development of PC applications built for embedded systems.