So You Want To Be An Embedded Systems Developer

Steve Branam

Then listen now to what I say. Just get an electric guitar and take some time and learn how to play. Oh, wait, that's a song by the Byrds. But the strategy is the same. Get some information and tools and learn how to use them. No need to...


Linear Feedback Shift Registers for the Uninitiated, Part XI: Pseudorandom Number Generation

Jason Sachs

Last time we looked at the use of LFSRs in counters and position encoders. This time we’re going to look at pseudorandom number generation, and why you may — or may not — want to use LFSRs for this purpose. But first —...


Introduction to Deep Insight Analysis for RTOS Based Applications

Jacob Beningo

Over the past several years, embedded systems have become extremely complex. As systems become more complex, they become harder and more time consuming to debug. It isn’t uncommon for development teams to spend more than 40% development cycle...


Ten Little Algorithms, Part 6: Green’s Theorem and Swept-Area Detection

Jason Sachs

Other articles in this series: Part 1: Russian Peasant Multiplication Part 2: The Single-Pole Low-Pass Filter Part 3: Welford's Method (And Friends) Part 4: Topological Sort Part 5: Quadratic Extremum Interpolation and Chandrupatla's...


Donald Knuth Is the Root of All Premature Optimization

Jason Sachs

This article is about something profound that a brilliant young professor at Stanford wrote nearly 45 years ago, and now we’re all stuck with it. TL;DR The idea, basically, is that even though optimization of computer software to execute...


Intel 8088 - A blast from the past

Ed Nutter

The Intel 8088 is an 8 bit processor related to the 16 bit 8086. The Microcomputer class consisted of wire-wrapping the chips to perfboard using sockets.I had taken computers apart, soldered, etc., but had never used wire-wrapping to construct a...


Zebras Hate You For No Reason: Why Amdahl's Law is Misleading in a World of Cats (And Maybe in Ours Too)

Jason Sachs

I’ve been wasting far too much of my free time lately on this stupid addicting game called the Kittens Game. It starts so innocently. You are a kitten in a catnip forest. Gather catnip. And you click on Gather catnip and off you go....


Favorite Tools: C++11 std::array

Matthew Eshleman

Many embedded software and firmware projects must be developed to high standards of reliability. To meet these reliability requirements, firmware project teams will consider many design tradeoffs. For example, an engineering team may avoid...


The Other Kind of Bypass Capacitor

Jason Sachs
1 comment

There’s a type of bypass capacitor I’d like to talk about today. It’s not the usual power supply bypass capacitor, aka decoupling capacitor, which is used to provide local charge storage to an integrated circuit, so that the...


It ain't heavy, it's my robot...

Ed Nutter

Unmanned Ground Vehicles - Design considerations for man-portable/packable vehiclesA UGV is “a ground based mechanical device that can sense and interact with its environment.” (Carlson, How) A Field Robot is expected to work outdoors,...