EmbeddedRelated.com
The 2026 Embedded Online Conference

Make Hardware Great Again

Jeff BrowerJeff Brower June 29, 20205 comments

US weakness in 5G and the coming AI race stems from a deeper problem, hardware decline and lack of CPU innovation. Jeff Brower argues that the software-only narrative has hollowed out semiconductor leadership, leaving only a few chipmakers and blocking vital R&D. He calls for targeted government action, funding for neural-net chips, and an industrial Hardhattan Project to rebuild CPU and hardware capabilities.


Tolerance Analysis

Jason SachsJason Sachs May 31, 2020

Jason Sachs walks through practical tolerance analysis by designing a 24V overvoltage detector from the ground up, combining resistor tolerances, temperature coefficients, reference and comparator errors, hysteresis, and dynamic RC behavior. He demonstrates worst-case stacking with real datasheet numbers, shows how solder and mechanical stress affect resistor choice, and sizes filtering so the comparator meets a microsecond-range trip requirement. The article is a hands-on guide full of worked examples and trade-offs for embedded hardware engineers.


The Self-Directed Virtual Internship

Steve BranamSteve Branam May 3, 2020

Summer internships may be gone, but your career momentum does not have to be. This post shows how to design a self-directed, unpaid virtual internship in embedded systems, with concrete options: project-based builds, tutorials, reports, or open-source contributions. Follow the one-page plan approach, treat it like a real remote job, and produce demonstrable deliverables to show employers.


Simple Automated Log Processing

Steve BranamSteve Branam April 25, 2020

You don't need heavy tools to make sense of megabytes of embedded logs. This post shows a practical bash script that trims noisy serial and semihosting output, samples hourly heap-profile lines, and converts them into a CSV ready for graphing. It gives a simple, adaptable pattern you can reuse to spot memory leaks or triage recurring log signatures quickly.


Scorchers, Part 2: Unknown Bugs and Popcorn

Jason SachsJason Sachs April 5, 20202 comments

Jason Sachs likens bug hunting to popping popcorn to explain diminishing returns when preparing a release. He argues that the rate of new bug reports is a practical signal for whether to keep testing or ship, and that late fixes incur hidden costs like extra testing, branching, documentation, and lost focus. The piece also warns that embedded firmware needs stricter pre-release testing because updates are rarer.


Some Advice For Working From Home

Steve BranamSteve Branam March 28, 20201 comment

Treat working from home like an intentional, repeatable process rather than a perk. Keep regular hours, a dedicated workspace, and clear household boundaries to preserve productivity and personal time. This post bundles practical setup and network tips, cybersecurity reminders, and quick mental-health habits such as exercise, meditation, and low-stress hobbies, with a reminder about social responsibility when teams shift to remote work.


UML Statechart tip: Handling errors when entering a state

Matthew EshlemanMatthew Eshleman March 8, 20204 comments

Handling synchronous failures during state entry is trickier than the UML spec implies, because UML forbids transitions inside entry actions. This post compares three practical firmware patterns: explicit guarded transitions, self-posting a failure event to a LIFO queue, and converting the operation into an asynchronous service. It lays out benefits, downsides, and when each approach is appropriate for small teams, mid-sized projects, or larger firmware efforts.


Examining The Stack For Fun And Profit

Steve BranamSteve Branam February 19, 20201 comment

Stack bloat can hide in short initialization paths, and this post walks through finding it with hands-on debugging. The author builds a tiny test program and uses gdb plus custom stack-helper scripts to scan, watch, and walk the stack. That process reveals getaddrinfo pulling in glibc DNS code that allocates large local buffers and uses alloca and PLT resolution, consuming roughly 11KB of stack.


Already 3000+ Attendees Registered for the Upcoming Embedded Online Conference

Stephane BoucherStephane Boucher February 14, 2020

More than 3,000 engineers have already signed up for the Embedded Online Conference, and free registration closes at the end of February. Stephane Boucher highlights four practical tracks—DSP and machine learning, FPGA, embedded systems programming, and embedded systems security—and notes that every talk will be available to stream on demand from May 20. If you prefer no-travel learning or want flexible access to world-class talks, register now.


So You Want To Be An Embedded Systems Developer

Steve BranamSteve Branam February 5, 20205 comments

This is a practical, boots-on-the-ground roadmap of books, videos, and inexpensive dev boards you can actually use to become an embedded systems developer. It contrasts hobbyist platforms like Arduino and Raspberry Pi with professional ARM-based evaluation kits, lists must-read resources for firmware, real-time systems, and testing, and emphasizes hands-on practice and the safety responsibilities of working with real-world devices.


C++ on microcontrollers 4 – input pins, and decoding a rotary switch

Wouter van OoijenWouter van Ooijen November 12, 20112 comments

Wouter van Ooijen shows how to extend a small C++ I/O library for microcontrollers to support input pins and mixed I/O, and how to decode a rotary switch reliably. The post walks through a safe class hierarchy for input, output, and bidirectional pins, then builds a quadrature decoder with a saturating counter and an HC595 seven-segment demo you can run on LPCXpresso hardware.


Learning A New Microcontroller

Steve BranamSteve Branam July 3, 20221 comment

Learning a new microcontroller becomes manageable with a repeatable, stepwise process that focuses on common peripherals, tools, and example programs. This post lays out hands-on exercises from blinky and UART echoes through I2C/SPI, PWM and ADC to DMA and RTOS variations, and shows how to evolve prototype code into reusable HAL and OSAL layers. Practical tips cover hardware setup, logic analyzers, and keeping an engineering notebook.


Crowdfunding Articles?

Stephane BoucherStephane Boucher April 12, 201828 comments

Technical writers in the embedded world often have the expertise, but not always the time or incentive to turn it into a post. Stephane Boucher explores a crowdfunding model for technical articles, where readers would pledge small amounts to back promising abstracts before the writing begins. It is an interesting attempt to create more high quality EE content by paying authors upfront.


Continuous Integration for Embedded Systems

Tayyar GUZELTayyar GUZEL September 5, 20172 comments

Hardware dependencies make continuous integration for embedded systems harder than for pure software, yet it is essential for quality and faster feedback. This post explains the three CI types, host, non-host and hardware-in-the-loop, then compares trade-offs in cost, parallelism, timing accuracy and portability. It also outlines steps in a typical CI pipeline and highlights practical tools and plugins, including Jenkins and static analysis to automate builds and tests.


Going back to Germany!

Stephane BoucherStephane Boucher June 13, 20176 comments

A conference conversation turned into a return trip to Germany for Stephane Boucher, this time to visit SEGGER’s headquarters in Dusseldorf and produce videos. The post shares how a chance introduction at ESC Boston led to the invitation, and it teases coverage from SEGGER’s 25th anniversary celebration. He also invites local tips and customer questions before the trip.


Trust, but Verify: Examining the Output of an Embedded Compiler

Jason SachsJason Sachs September 27, 2015

Jason Sachs argues embedded engineers should read their compiler's assembly even if they rarely write assembly. He walks through Microchip XC16 output for dsPIC33 devices, showing how simple C variants and optimization flags produce very different code. The article demonstrates practical verification techniques and a tiny Python helper, pyxc16, to quickly inspect assembly for timing-sensitive firmware without rewriting everything in assembly.


Supply Chain Games: What Have We Learned From the Great Semiconductor Shortage of 2021? (Part 4)

Jason SachsJason Sachs December 31, 2022

The chip shortage didn't end with 2021, it moved into older process nodes where cars and industrial gear live. In this installment Jason Sachs explains why mature-node and trailing-edge capacity remain tightly constrained, how NCNR commitments and price increases are reshaping supplier behavior, and what companies like NXP and Microchip are doing to cope. He warns the imbalance could take multiple semiconductor cycles to fix.


March is Oscilloscope Month — and at Tim Scale!

Jason SachsJason Sachs March 6, 2014

Jason Sachs just upgraded his lab with an Agilent MSOX3034A after snagging a vendor promotion, and he walks through first-day wins from probe compensation to scripting. He shows why 10x probes need capacitive matching and how to use the scope's calibration square wave to compensate them. He also covers connecting the MSOX3000 to Python via pyvisa and SCPI, including decoding waveform data for export.


Ada 2012 for ARM M3/M4 Released for Download

Mike SilvaMike Silva August 4, 201412 comments

AdaCore's initial Ada 2012 port for ARM Cortex M3/M4 is now downloadable, and Mike Silva walks it through a hands-on demo on an STM32F4 Discovery board. He shows an Ada-written LCD driver, LED multitasking, and how Ada language features like Ada.Realtime, array slices, and unchecked conversions make low-level GPIO and timing code clearer and safer. The post highlights atomic BSRR GPIO writes and Ravenscar runtime details.


Project Directory Organization

Stephen FriederichsStephen Friederichs August 20, 20142 comments

A tidy project tree can make a bigger difference than you might think. Stephen Friederichs lays out a practical directory scheme for small software projects, using familiar folders like src, obj, bin, test, reports, docs, and conf to keep builds, tests, and documentation from turning into a mess. He also explains why the root directory should welcome contributors, not confuse them.


The 2026 Embedded Online Conference