• A Simple Scheduler via an Interrupt-driven Actor Model

    In this article, we’ll weigh the benefits of using the Cortex-M interrupt model as a scheduler and go over a simple implementation of this concept.

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

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

  • Integrating Memfault With AWS IoT Core and ExpressLink

    To ensure the reliability and stability of IoT applications, effective debugging and error monitoring are crucial. Memfault comes to the rescue with its comprehensive set of tools for remote debugging, crash reporting, and real-time error monitoring.

  • Securing Firmware Updates With AES Encryption

    In this publication, we will explore a simple method to encrypt the firmware using the AES algorithm, using open-source libraries in Python. Of course, we will also see how to decrypt the firmware from the MCU using the AES encryption engine.

  • Debugging Android Devices

    In this article we will explore the different facilities and tools available to debug Android based devices and produce robust systems that can handle a wide range of applications from smart fridges, to payment terminals, and of course mobile phones.

  • A Modern C Development Environment

    In this article we’ll go over how to set up a containerized development environment for C projects. We’ll touch on setting up a build system using CMake, a testing environment using Unity, and even how to use our containerized environment in our CI pipeline!

  • What we've been reading in July

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

  • Understanding Battery Performance of IoT Devices

    In this post, I’ll cover how to start thinking about collecting metrics that contribute to battery life, how to dig into this data for individual devices, and finally how to aggregate all metrics from devices in the field to accurately predict the battery life of devices in the field for a given firmware release. All of these abilities will help projects optimize battery life and combat issues quickly when they arise, whether you have ten or a million devices in the field.