What we've been reading in March (+ Announcements)
Here are the articles, videos, and tools that we’ve been excited about this March, and we have a few announcements, the first being about Interrupt’s first Quarterly Panel co-hosted with Phillip from Embedded Artistry, and a blurb about this year’s Embedded Online Conference
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.
Interrupt and Phillip from Embedded Artistry will be co-hosting quarterly panels with people we enjoy talking to from the embedded space. Our first one is on April 21st at 8:30a PST.
We’ll be talking to one of my ex-coworkers from Fitbit, Shiva Rajagopal, about essential device metrics to monitor while building & shipping millions of smartwatches! It’ll be a blast.
I’ll be presenting at the Embedded Online Conference again this year. This time it’s about Essential Device Metrics. I’m also excited for Dan Saks’ talk on C++ for Embedded and Alvaro’s talk on Debugging.
If you register for the Embedded Online Conference and use the code MEMFAULT, you’ll receive $100 off the registration fee!
Articles & Learning
My guiding principles after 20 years of programming | by Alex Ewerlöf | Medium
Not specific to embedded but programming in general. Hits hard - Tyler
N2965: Modern Bit Utilities
A comprehensive and very detailed proposal for standardizing bit operations for c23,
stdbit.hhere we come! - Noah
GDBWave - A Post-Simulation Waveform-Based RISC-V GDB Debugging Server | Electronics etc…
This post is a goldmine if information related to building custom GDB servers. Even the reference list at the bottom has a bunch of projects I’ve never come across before. - Tyler
golioth/awesome-zephyr-rtos: 🪁 A curated list of awesome projects and resources for the Zephyr RTOS project.
A great “awesome” list for Zephyr RTOS written by our friend Jonathan Beri.
RP2040 Doom | rp2040-doom
Fully featured Doom port for the RP2040 - Noah
hexops/mach-gpu-dawn: Google’s Dawn WebGPU implementation, cross-compiled with Zig into a single static library
Using Zig to cross-build static macOS/Linux/Windows versions of a large and complex library (Chromium’s WebGPU library) without any additional tools! Very cool how much Zig simplifies cross compilation for tricky platforms - Noah
The blog of wjwh - Stupid tricks with io_uring: a server that does zero syscalls per request
A webserver in zero syscalls using io_uring - Noah
CP/M 2.2 Up And Running. | 8-bit computer from scratch.
An 8-bit computer built from scratch! Detailed project journal starts here and ends with the post linked above.
Logging On An Embedded System | mbedded.ninja
A simple post braindumping why logging on embedded systems is hard. Mentions TRICE, which we had a recent post about.
Sprites mods - Using a tiny HC32L110 ARM chip - Intro
Fun project making use of a pretty hobby-unfriendly microcontroller. Includes an SDK and OpenOCD patch to support standard tool chain. - Noah
Another vulnerability in the LPC55S69 ROM / Oxide
The Oxide team continues to do great work bringing to light security vulnerabilities in microcontrollers. The latest one found in the LPC55S69 allows unsigned code to run on a device by exploiting a flaw in the built-in device programming mode. - François
Implementing a toy version of TLS 1.3
Found at the top of Hacker News, but a very enjoyable writeup on implementing a small TLS 1.3 client by the ever wonderful Julia Evans - Noah
Oxide on My Wrist: Hubris on PineTime was the best worst idea
Article about getting up and running Oxide’s new RTOS, Hubris, on a PineTime smartwatch.
DDC OLED - mitxela.com
Wonderful hack - driving an I2C SSD1306 display using an HDMI cable, all from Linux userspace - Noah
mborgerson/mdec: Decompilation as a Service. Explore multiple decompilers and compare their output with minimal effort. Upload binary, get decompilation.
Interesting RE tool that runs multiple decompilers, enabling quickly comparing the results for a given binary - Noah
Embedded Software Development in Visual Studio Code - C++ Team Blog
The embedded tools extension for VSCode which was previously announced by Microsoft is now released. - Tyler