What we've been reading in June
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
Memfault Panel - From Concept to Launch: What It Takes to Build and Ship a New Device (Recording)
I had a great time with Phillip Johnston (Embedded Artistry) and Elecia White (Embedded.fm & Logical Elegance) discussing numerous things that we’ve learned about successful IoT product launches over our careers - often through trial and error. Check out the recording to hear our stories and tips.
He started a computing REVOLUTION—then the shortage hit - YouTube
Jeff Geerling interviews Eben Upton, about the Raspberry Pi shortages and the future. Great discussion! - Noah
AN25 - Switching Regulators for Poets: A Gentle Guide for the Trepidatious
More on the hardware side, but a classic app note from LTC - Noah
cuneicode, and the Future of Text in C | The Pasture
Absolutely staggering article. Possibly the best thing I’ve read all year! - Noah
Side channel attack using power LED - Noah
Compiler Optimization of a Clamp Function | CoffeeBeforeArch.github.io
Fun walkthrough of compiler optimization/vectorization of a simple function - Noah
Valgrind Memcheck: Different ways to lose your memory | Red Hat Developer
Nice article summarizing valgrind leak types - Noah
Getting Started With Zephyr: Kconfig - Mohammed Billoo
Memfault Ambassador, Mohammed Billoo (MAB Labs), demystifies the “Kconfig” infrastructure that is an integral part of The Zephyr Project RTOS
Innovation Handbook | DigiKey
Collection of interesting reads from Digikey (some fundamentals, some more advanced topics) - Noah
Structures in C: From Basics to Memory Alignment – Abstract Expression
A nice overview of structs in C. The only thing it’s missing in my opinion is a brief use-case of polymorphism in C using structs.
Memfault Webinar - An Introduction to Memfault’s IoT Reliability Platform (Recording)
If you aren’t already familiar with Memfault’s product, Andie Cockerill (VP of Customer Experience) does a great job providing an overview and demo of our IoT reliability platform.
Projects & Tools
wader/fq: jq for binary formats - tool, language and decoders for working with binary and text formats
A jq sibling “fq” that supports many binary formats including ELF - Fausto
hasheddan/dedock: not a container runtime.
Interesting project that intends to handle portable development environments on Linux and Macos - Noah
iDoka/awesome-embedded-software: :stars: List of software (HW interfaces, libs, protocols, etc) specifically suitable for resource-constrained Embedded Systems (low-memory and low-power) like 8-bit, 16-bit and 32-bit microcontrollers.
Great list of links, shared on the Interrupt slack
floooh/sokol: minimal cross-platform standalone C headers
Nice set of headers for cross-platform apps - Noah
When I was at the SF Firmware Meetup a couple of weeks back, Alvaro Prieto gave me a preview of what Sofar Ocean is doing with Bristlemouth - an open standard/protocol for building hardware that sits in the middle of the ocean. My favorite part was definitely that they had to build their own cables since they were all too expensive or didn’t work for long periods of time. Super cool stuff.
Getting started with LPBAM - stm32mcu
If you enjoy battery optimizations, the “low power batch autonomous mode” (LPBAM) peripheral mode for the MCU is quite neat - it lets you run DMA while the STM32 is in one of its lowest power states (stop mode) - Chris
cbiffle/lilos: A wee async RTOS for Cortex-M
Cliff Biffle published a Rust-based async RTOS called lilos. Cliff works at Oxide Computers, which published Hubris, another Rust-based RTOS. Great to see so many Rust RTOS’s coming out.
lupyuen/pinetime-rust-mynewt: PineTime Smart Watch firmware based on Rust and Apache Mynewt OS
Application for the Pinetime smartwatch using Apache Mynewt + rust - Noah
Announcements & News
Announcing general availability of Zephyr 3.4 - Zephyr Project
Zephyr v3.4 is out! This blog post covers the latest changes and this very cool video features new demos - Eric