• Practical Zephyr - Kconfig (Part 2)

    In this second article of the “Practical Zephyr” series, we’ll explore the kernel configuration system Kconfig by looking at the printk logging option in Zephyr. We won’t explore the logging service as such in detail but instead use it as an excuse to dive deep into Kconfig. Finally, we’ll create our own little application-specific Kconfig configuration.

  • Building Nordic nRF-Connect SDK Projects with GitHub Actions

    Recently we ran through a re-vamp of our CI builds targeting the Nordic nRF-Connect SDK, and I wanted to share some of the things we learned along the way! This article walks through setting up a GitHub Actions workflow for building nRF-Connect SDK projects.

  • Practical Zephyr - Zephyr Basics (Part 1)

    If you’re working a full-time job and would still like to get started with Zephyr but don’t have the energy to set up your environment to dive deeper into the docs, this article series will guide you through the Zephyr basics. Of course, you’ll learn most if you follow along with programming, but all code, including snippets of generated code and build logs, are included in the articles of this series. Thus, even just reading this series should give you a good idea about how Zephyr works.

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

    🎉 Happy New Year! 🎉 Here’s to making 2024 the best year yet.

    2023 was an exciting year for Interrupt, with 36 new articles, 13 new external contributors, 12 community Meetups, and a partridge in a pear tree. Thanks for being a part of it.

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

  • Logging on Embedded Devices

    In this article, I discuss some of the problems I’ve encountered in producing and analyzing device logs over the years, on single digit number of devices up to hundreds of thousands, and concepts I’ve applied to manage that complexity. My background is in Android development, so some of the examples may skew towards much more powerful hardware than simple microcontrollers.

  • 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.