EmbeddedRelated.com
The 2025 Embedded Online Conference

A Beginner's Guide to Embedded Systems

Manasi Rajan December 6, 2022

I was in my Junior year of college when I first learned about embedded systems. Sure, I’d heard about this mystical world of sensors and IoT, the same way I’d heard about thermonuclear astrophysics; But, the phrase “embedded systems” didn’t really mean anything to me. This, here, is a guide for people like teenage me. We’re going to learn what an embedded system actually is, and why working on embedded software is the coolest thing you could ever do!

What's an embedded...

Peripheral Interaction Without a Linux Device Driver Using Spidev

Mohammed Billoo November 20, 2022
Overview

When integrating a new peripheral onto an embedded Linux platform, we might think we always need to implement a kernel module to serve as a device driver. However, as we all know, absolutes such as “always” and “never” are rarely true. The same is true in this case. Implementing a device driver in kernel space on an embedded Linux platform should only be undertaken if the performance requirements of the final application demand it. In most instances, a userspace...


In Memoriam: Frederick P. Brooks, Jr. and The Mythical Man-Month

Jason Sachs November 20, 2022

It is with some sadness that I have read that Fred Brooks has passed away. Brooks (1931 - 2022) worked at IBM and managed a large team developing the IBM System/360 computers in the early 1960s. Brooks was thirty years old at the start of this project. He founded the Computer Science Department at UNC Chapel Hill in 1964, at the age of thirty-three, acting as its department chair for twenty years. He remained at IBM until 1965, however. During this one-year...


C to C++: 3 Reasons to Migrate

Jacob Beningo October 31, 202223 comments

I’ve recently written several blogs that have set the stage with a simple premise: The C programming language no longer provides embedded software developers the tools they need to develop embedded software throughout the full software stack. Now, don’t get me wrong, C is a powerhouse, with over 80% of developers still using it; however, as embedded systems have reached unprecedented levels of complexity, C might not be the right tool for the job.

In this post, I’m kicking...


Favorite Software AND Hardware Tools for Embedded Systems Development

Stephane Boucher October 5, 2022

Last year, at the Embedded Online Conference, we interviewed the speakers and asked them what were some of their favorite software and hardware tools for Embedded development.  

We aggregated all their answers in one insightful video that you can watch here.

Although you should really watch the video in order to get the full picture, I've compiled the following non-exhaustive list for the fun of it (again, I cannot overstate enough how much valuable...


Getting Started With Embedded Linux - From Nothing To A Login Prompt

Mohammed Billoo September 28, 2022

One of the famous observations that have been made related to embedded systems is referred to as “Moore’s Law”, which states that the number of transistors in integrated circuits doubles every year. This observation has held mostly true for the past several decades, so powerful CPUs are no longer simply relegated to servers, desktops, and laptops. Instead, we see powerful CPUs with increased capabilities being introduced into embedded systems on devices that live at “the edge”....


A New Related Site!

Stephane Boucher September 22, 20224 comments

We are delighted to announce the launch of the very first new Related site in 15 years!  The new site will be dedicated to the trendy and quickly growing field of Machine Learning and will be called - drum roll please - MLRelated.com.

We think MLRelated fits perfectly well within the “Related” family, with:

  • the fast growth of TinyML, which is a topic of great interest to the EmbeddedRelated community
  • the use of Machine/Deep Learning in Signal Processing applications, which is of...

Five ‘80s Movies that Inspired Me to Become an Engineer

Jacob Beningo July 20, 20226 comments

Five ‘80s Movies that Inspired Me to Become an Engineer

Movies and pop culture can incredibly impact society, particularly children. However, we never really know what conversation, demonstration, or movie could inspire someone to become an engineer. Recently in the Beningo house, we ran out of the film to watch for movie night. In desperation, I decided to find great movies from my childhood in the 80s. To my surprise, I realized how influential several of these films inspired me to...


Stairway to Thévenin

Jason Sachs December 31, 2011

This article was inspired by a recent post on reddit asking for help on Thévenin and Norton equivalent circuits.

(With apologies to Mr. Thévenin, the rest of the e's that follow will remain unaccented.)

I still remember my introductory circuits class on the subject, roughly as follows:

(NOTE: Do not get scared of what you see in the rest of this section. We're going to point out the traditional approach for teaching linear equivalent circuits first. If you have...


How to Include MathJax Equations in SVG With Less Than 100 Lines of JavaScript!

Jason Sachs May 23, 20149 comments

Today’s short and tangential note is an account of how I dug myself out of Documentation Despair. I’ve been working on some block diagrams. You know, this sort of thing, to describe feedback control systems:

And I had a problem. How do I draw diagrams like this?

I don’t have Visio and I don’t like Visio. I used to like Visio. But then it got Microsofted.

I can use MATLAB and Simulink, which are great for drawing block diagrams. Normally you use them to create a...


Introduction to Microcontrollers - Ada - 7 Segments and Catching Errors

Mike Silva September 22, 20145 comments

7 Segments the Ada Way

Here is the Ada version (I should say AN Ada version) of the 7 segment multiplexing code presented in the last installment.  The hardware now is the STM32F407 Discover board, which is a Cortex M4F board.  There are lots of differences in GPIO and timer setup, but if you understoold the previous code in C you should not have much trouble understanding this code in Ada.

As interesting as the Ada approach to the task is the Ada ability to detect...


Elliptic Curve Cryptography

Mike November 16, 20156 comments

Secure online communications require encryption. One standard is AES (Advanced Encryption Standard) from NIST. But for this to work, both sides need the same key for encryption and decryption. This is called Private Key encryption.


C to C++: 3 Reasons to Migrate

Jacob Beningo October 31, 202223 comments

I’ve recently written several blogs that have set the stage with a simple premise: The C programming language no longer provides embedded software developers the tools they need to develop embedded software throughout the full software stack. Now, don’t get me wrong, C is a powerhouse, with over 80% of developers still using it; however, as embedded systems have reached unprecedented levels of complexity, C might not be the right tool for the job.

In this post, I’m kicking...


Little to no benefit from C based HLS

Christopher Felton April 4, 2014

Last updated 07-Nov-2015

As I write this I am on a plane and my destination is EELive 2014 where I am going to give a talk hardware design: the grunge era.  It is a shotgun introduction to three alternative hardware description languages (alt.hdl). The three languages briefly introduced in the talk are: bsv, chisel, and myhdl.  The goal of the talk is simply to raise awareness of the three...


How to make a heap profiler

Yossi Kreinin May 23, 20141 comment

We'll see how to make a heap profiler. Example code for this post makes up heapprof, a working 250-line heap profiler for programs using malloc/free.

It works out of the box on Linux (tested on "real" programs like gdb and python). The main point though is being easy to port and modify to suit your needs. The code, build and test scripts are at github.

Why roll your own heap profiler?

  • It's easy! And fun, if you're that sort of person. What, not reasons enough? OK, how...

Jaywalking Around the Compiler

Jason Sachs December 9, 20193 comments

Our team had another code review recently. I looked at one of the files, and bolted upright in horror when I saw a function that looked sort of like this:

void some_function(SOMEDATA_T *psomedata) { asm volatile("push CORCON"); CORCON = 0x00E2; do_some_other_stuff(psomedata); asm volatile("pop CORCON"); }

There is a serious bug here — do you see what it is?


Metal detection: beat frequency oscillator

Fabien Le Mentec January 30, 20161 comment
Plan Introduction Theory Electronics Software Tests ReferencesNext part: building the detector 1. Introduction

This article discusses the implementation of a beat frequency oscillator (BFO) stage for metal detector. While they are mentioned here and there, the article does not detail other important electronic stages such as the power supply, and user interface, the coil or the detector frame. I may write other articles on these topics, and other detection methods.Before...


Oscilloscope review: Hameg HMO2024

Jason Sachs March 28, 20133 comments

Last year I wrote about some of the key characteristics of oscilloscopes that are important to me for working with embedded microcontrollers. In that blog entry I rated the Agilent MSOX3024A 4-channel 16-digital-input oscilloscope highly.

Since then I have moved to a different career, and I am again on the lookout for an oscilloscope. I still consider the Agilent MSOX3024A the best choice for a...


The 2025 Embedded Online Conference