Embedded software engineer, primarily for IoT and communications-related systems.

Learning Rust For Embedded Systems

Steve Branam November 12, 2021
The Motivational Portion

Based on recommendations from Kevin Nause, the VolksEEG project is considering using Rust as the embedded system programming language. So I've been off on a tear skimming books and e-books and watching videos at 2x to evaluate it.

My conclusion? Do it!

Most of the rest of us participants are primarily C/C++ embedded developers. I had previously been sensitized to Rust for embedded systems by 


Six Software Design Tools

Steve Branam November 5, 20211 comment
Contents: Introduction

Here are six tools to help you with software design. The first two are very simple, almost deceptively trivial, while the last four are more involved. They apply universally, to all types of software, all types of systems, and all languages. This is part of good engineering discipline.

At face value, this is just a bunch of acronyms,...


VolksEEG Project: Initial Hardware Architecture

Steve Branam November 2, 20211 comment

The initial hardware architecture for the prototype VolksEEG uses an Adafruit Feather nRF52840 Sense, which connects to a PC via USB for UI (User Interface). Through several additional chips, this provides power to and acquires data from the ADS1299 ADC.

An important topic I mentioned in my introduction to the project is isolation, ensuring there is no conductive path for current through the patient. The architecture is therefore split into...


Introducing The VolksEEG Project

Steve Branam October 31, 2021
Introduction

The VolksEEG project is an open-source project with the goal of creating an electroenchephalogram (EEG) machine, fully cleared by the FDA for standard clinical use. All designs will be freely available for others to manufacture.

The project was founded by Alan Cohen, a medical device systems engineer with an electrical engineering/software (EE/SW) background in Boston, USA, and Dr. Bryan Glezerson


Video-Based STEM Embedded Systems Curriculum, Part 2

Steve Branam October 25, 2021
Contents: Introduction

This post continues from part 1. It contains the first three lesson plans.

Lesson Plan 1: Introducing Arduino

This lesson is first because Arduino is the simplest programming environment, yet allows lots of interaction with hardware. In...


Review: Prototype to Product

Steve Branam October 16, 2021

Prototype to Product: A Practical Guide for Getting to Market, by Alan Cohen, is a must-read for anyone involved in product development, whether in a technical, management, or executive role.

I was reminded of it by Cohen's recent episode on Embedded.fm, 388: Brains Generate EMF, which is worth listening to a couple times through, especially if you're interested in medical device development. And in fact his first episode there, 


Learning From Engineering Failures

Steve Branam July 29, 2021
Contents: Introduction

I'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 to repeat it.
  • Louis...

My Guiding Principles As An Engineer

Steve Branam February 27, 2021

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 well, whether working as a developer, a manager, or an executive, alone or on a team, when things are going well, and when they aren't.

They're a combination of favorite quotes and my own bits of derivative wisdom I've sprinkled...


Your Career Archive

Steve Branam December 30, 2020

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 some information on a particular aspect of changing jobs, the employment background check.

Over the past 10 years, I've changed jobs several times. Three of those jobs, including the most recent two, have required background checks as part of...


Review: Hands-On RTOS with Microcontrollers

Steve Branam September 20, 20202 comments

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 up to its name, extremely hands-on and practical, taking you from knowing nothing about RTOS's (Real-Time Operating Systems) up to building real multithreaded embedded system applications running on real hardware.

It uses the ST Micro


Review: Project Management for the Unofficial Project Manager

Steve Branam July 26, 2020

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 have lived through problematic projects? Hopefully some of them have at least been ultimately successful to make all the suffering worth it in the end, but there are plenty that haven't.

I don't consider myself a project manager, or a manager...


The Self-Directed Virtual Internship

Steve Branam May 3, 2020

A number of my LinkedIn connections are college and university students at the bachelor's, master's, and doctoral levels, from all over the world. The embedded systems community constantly amazes me.

One fallout they're experiencing from COVID19 is cancellation of summer internships. This is very unfortunate, because an internship represents maintaining educational momentum and preparing for launch of a career with a taste of the real working world, along with some financial...


Simple Automated Log Processing

Steve Branam April 25, 2020

Text log data offers a wealth of information from an embedded system. At least during prototyping and development phases, most systems have some kind of serial log output, or use semihosting methods to log to a serial output channel in a debugger. Then you can capture the logs to a file.

The problem is that they tend to accumulate large volumes of data. Logs can be many thousands of lines long, especially when you run long duration tests. Finding information and evaluating trends in the...


Some Advice For Working From Home

Steve Branam March 28, 20201 comment

The other day I posted a short video of my WFH setup (and here's a May 1st upgrade). Today I have some general advice for WFH for people who are new to it.

I've been doing it randomly for the past 5 years, usually just one or two days a week here and there. Now it's a full-time thing for the duration of the coronavirus. So some of this wanders afield a bit, settling in for the long haul.

Some of it is based on things I've built up over years. It's unreasonable to expect that...


Examining The Stack For Fun And Profit

Steve Branam February 19, 20201 comment

Well, maybe not so much for profit, but certainly for fun. This is a wandering journey of exploration and discovery, learning a variety of interesting and useful things.

One of the concerns with an embedded system is how much memory it needs, known as the memory footprint. This consists of the persistent storage needed for the program (i.e. the flash memory or filesystem space that stores the executable image), and the volatile storage needed to hold the data while executing over long...


Re: So, You Want to be an Engineering Manager?

Reply posted 2 years ago (10/03/2020)
I'll give another vote for "Peopleware", and right along with it, Fred Brooks' "The Mythical Man-Month", 20th anniversary edition.I briefly mentioned these in...

Re: Custom LCD

Reply posted 2 years ago (07/26/2020)
You might try contacting Adafruit. Not that they would be able to make one, but they might have the right contacts. They might know a guy who knows a guy (or gal!)...
I would highly recommend you investigate Miro Samek's FSM (Finite State Machine) approach as an alternative to an RTOS. Your project sounds like a heavily event-driven...

Re: Covid-19 Stories

Reply posted 2 years ago (03/25/2020)
I'm in Massachusetts. I've done enough random days of working from home that this isn't much of a change for me other than now doing it every day. As a result, I...

Re: Funny or Not Funny?

Reply posted 2 years ago (02/13/2020)
You're instinct was good, because it made you stop and think, and then ask for a second opinion! So you're able to counteract your inheritance!

Re: Funny or Not Funny?

Reply posted 2 years ago (02/13/2020)
While I do appreciate the humor and the line of jokes that could address computer vs. biological viruses, this is unequivocally bad taste. People have died, tens...

Use this form to contact sdbranam

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address