What we've been reading in June (2021)

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

We hope you enjoy these links, and we look forward to hearing what you’ve been reading in the comments or on the Interrupt Slack.

Articles & Learning

Tools & Projects

  • Pinfigurator: A microcontroller search tool by Kevin Lynagh
    A microcontroller search tool that allows you to find exactly the MCU you are looking for based on requirements, such as CPU, RAM, ROM, or peripheral requirements.
  • OTGMessenger: Off The Grid Messenger
    A complete hardware & software project which repurposes a Nokia e63 phone and transforms it into a secure long-range mobile device to communicate with other nearby devices. It’s built upon an STM32H7 and an ISM LoRA radio.
  • MicroShell
    MicroShell is a lightweight pure C implementation of shell emulator dedicated for embedded bare-metal systems. Full-featured with auto-completion, backspace, directory management, and asynchronous callbacks. It’s even unit tested! What to try it for yourself? Check out the browser demo.
  • Mimicc – Mock generator for C and C++
    Mimicc is a clang-based C/C++ compiler and mocking framework that turns function and method declarations directly into runnable mocks. Works out of the box with CppUTest and GoogleTest, and would be a good replacement for CppUMock, fff, or CMock. Comes with a CLI to help generate the mock files, and works on Mac & Linux.
  • Prusa-Firmware-Buddy - 3D Printer firmware
    The firmware that runs on 3D printers from Prusa Research. If you’re looking for inspiration on how to set up a project, this is a good reference. It includes setups for VSCode, Vim, and Eclipse, has a convenient build.py wrapper, and uses clang-format for formatting. It also includes a custom GUI, localization, a custom filesystem, and many other modules. Definitely take a look!
  • Embedded Template Library by John Wellbelove
    A C++ template library specifically designed for constrained embedded systems. It’s compatible with C++ 03, does not require dynamic memory allocation, no reliance on the STL, and max sizes are determined at compile time.


Tyler Hoffman has worked on the embedded software teams at Pebble and Fitbit. He is now a founder at Memfault.