What we've been reading in March (2021)

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

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

Neat Projects

  • Sourcetrail
    A local, open-source application that assists you in searching and visualizing code and dependencies. Works with C, C++, Python, and more! We are fans of OpenGrok and Sourcegraph at Memfault, but they do accomplish different goals (and are cloud-based).
  • Lizard Code Complexity Analyzer
    Lizard is python-based cyclomatic complexity analyzer for C/C++ and many other languages. It counts lines of code, complexity of code, and number of tokens and parameters per function, as well as detects copy-paste within code-bases. Could be a useful thing to throw into your CI system and print the results in a Github Pull-Request comment.
  • Zephyr Scientific Library (zscilib)
    A scientific library targeted at embedded systems, specifically the Zephyr platform. I don’t know any consumers of the library, but it looks like a fun project! Includes function for help with chemistry, physics, and complex math operations. Includes unit tests, which is a big plus in my book.
  • Mutable Instruments
    A synthesizer company built upon the STM32 with most (if not all) of the firmware open-sourced and written in C++! I’m surprised this project does not come up often when people ask for good open-source firmware projects. So many build targets, hardware, and different products are built upon the same firmware repo. It makes me so happy.
  • The PocketGlitcher by LimitedResults
    An in-depth article detailing the creation of the PocketGlitcher, a voltage glitching device, built with a BeagleBone.
  • CortexProg
    An open-source hardware and firmware project by Dmitry which attempts to replace your J-Link and other debuggers. Check out the manual to read more about the various features. V4 went up on Kickarter but was unsuccessful in funding, and V5 is now open-sourced. ZeroWireTrace sounds especially cool.
  • Embox
    Another RTOS on the block. Embox is POSIX compliant and tries to be more like Linux without being Linux (which sounds similar to the goal behind NuttX). I’ve personally never heard of any projects using this RTOS.
  • I2C Device Library by Jeff Rowberg
    I attended last week’s NY Firmware/Embedded Systems Meetup and learned about this project! It is a library, collection of tools, web applications, and growing database built to help developers integrate with the growing list of I2C devices.
  • peplin/pygatt
    A Python library built to interface with Bluetooth devices over the BLE GATT protocol. I could see this being useful in automated testing systems interacting with devices over BLE.

Random!

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