What we've been reading in July (2020)

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

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

Articles & Learning

Neat Open Source Projects

  • Nest Labs Embedded Libraries
    We found some great C/C++ libraries in the Nest Labs Github organization, including an assert library, unit testing library, FSM generator, and a custom RTOS.
  • adamgreen/CrashCatcher
    A library that is inserted into the fault handlers of an ARM Cortex-M firmware. Will generate crash dumps (or core dumps) for post-mortem debugging. Similar to what Memfault provides, but the repo dates back to 2014! A gem of a project.
  • adamgreen/mri - Monitor for Remote Inspection
    Enables GDB to debug Cortex-M devices over a UART connection using the Debug Monitor. Wondering how it works? Check out our recent post on the topic.
  • ZMK Firmware
    A Zephyr-based firmware for keyboards. This project is in its early days, but if you are looking to learn more about Zephyr, this is a great reference point.
  • ficl - Forth Inspired Command Language
    Ficl is a programming language interpreter designed to be embedded into other systems as a command, macro, and development prototyping language. We stumbled across this because you can actually compile it into NuttX!
  • cjhdev/wic - WebSockets in C
    A fresh project that implements WebSockets in C99 C code with embedded systems in mind (it doesn’t use malloc!).
  • ESP-Hosted by Espressif
    This project allows you to hook up an ESP32 to a host machine, such as a Linux device, and use TCP/IP and Bluetooth HCI protocol as normal but all communications are passed through to the ESP32.
  • M2OS
    M2OS is an RTOS written in Ada and released this March 1st, 2020. It can run on an Arduino Uno and an STM32F4. Ada is a language I did not expect to see in a modern RTOS.
  • TinyGo
    We’ve linked TinyGo before, but their recent changelogs are impressive. RISC-V, Teensy 3.6, Particle boards, and Go Module support. I also just realized they support WebAssembly as a target. Neat.

News

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