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...


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...


Absolute Beginner's Guide To Getting Started With Raspberry Pi

Steve Branam

The Raspberry Pi is a great little computer for learning programming in general, as well as embedded systems. It runs a version of the Linux OS (Operating System) called Raspberry Pi OS (formerly called Raspbian, so you'll see that name a lot,...


Make Hardware Great Again

Jeff Brower

By now you're aware of the collective angst in the US about 5G. Why is the US not a leader in 5G ? Could that also happen -- indeed, is it happening -- in AI ? If we lead in other areas, why not 5G ? What makes it so hard ? This...


Tolerance Analysis

Jason Sachs

Today we’re going to talk about tolerance analysis. This is a topic that I have danced around in several previous articles, but never really touched upon in its own right. The closest I’ve come is Margin Call, where I discussed...