Learning From Engineering Failures

Steve Branam

IntroductionI'm an informal student of engineering failures. They guide a lot of my attitude and approach towards engineering.This is rooted in two of my favorite quotes:George Santayana: Those who do not remember the past are condemned...


Acceptance Tests vs. TDD

Steve Branam

The Question Our software book club at work is reading Michael Feathers' Working Effectively with Legacy Code. This is an outstanding book that's worth re-reading every few years. This week, we went over Chapter 8, "How Do...


My Guiding Principles As An Engineer

Steve Branam

These are my guiding principles as an embedded systems software engineer, forged over 40 years of experience. They shape the way I work and approach problems, and maintain my attitude in the face of adversity. You may find them useful as...


Dumb Embedded System Mistakes: Running The Wrong Code

Steve Branam

Contents Introduction The Mistake Causes The Strategy Marking Embedded Linux Rootfs Overlay Files To Mark Marker Lines Script C/C++ Source Modifications Linux...


Advice For High School Students

Steve Branam

Contents Introduction My Education Experience My Career Experience My Advice Study Habits Continuous Learning Math Hands-On Try It Out Soft Skills ...


Your Career Archive

Steve Branam

Clive Maxfield and Adam Taylor recently published a series of blog posts about how to get and keep an engineering job, discussing preparation in high school through early career stages. I've just started a new job, and wanted to add...


Painting with Light to Measure Time

Jason Sachs

Recently I was faced with a dilemma while working from home. I needed to verify an implementation of first-order sigma-delta modulation used to adjust LED brightness. (I have described this in more detail in Modulation Alternatives for the...


Review: Hands-On RTOS with Microcontrollers

Steve Branam

Full disclosure: I was given a free copy of this book for evaluation.Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools by Brian Amos is an outstanding book. It lives...


Review: Project Management for the Unofficial Project Manager

Steve Branam

Software development projects are notorious for having problems. Late, over budget, not working properly, making people's lives miserable all around. Embedded systems add the further complication of hardware to that. How many of us...


Scorchers, Part 3: Bare-Metal Concurrency With Double-Buffering and the Revolving Fireplace

Jason Sachs

This is a short article about one technique for communicating between asynchronous processes on bare-metal embedded systems. Q: Why did the multithreaded chicken cross the road? A: to To other side. get the — Jason Whittington There...