## Back from Embedded World 2023

March 23, 20231 comment

It was great to be back in Nuremberg for Embedded World after three long years. The trade show is probably the most significant event in the embedded systems industry, and it was a relief to see that it has survived the pandemic with more than 900 vendors exhibiting.

I recorded this video on the very first day when the doors opened.  What you see in the video is probably 10% or less of the full show floor.  I am always impressed by the size of...

## Visual Studio Code Extensions for Embedded Software Development

March 22, 2023

Visual Studio Code has become one of the most popular IDEs in the world. To date, software developers have downloaded it more than 40 million times! I suspect you’ve at least heard of it, if not already attempting to use it. Visual Studio Code allows developers to easily customize their development environment which can help them accelerate development, minimize bugs, and make developing software overall much better.

One challenge with Visual Studio Code is that embedded software...

## What to See at Embedded World 2023

March 6, 2023

Embedded World 2023 is just around the corner, and I am thrilled to be attending this year's edition in Nuremberg, Germany. The last time I was there was three years ago, and the world was on the cusp of a major pandemic. It was a surreal experience as many booths and exhibits were empty and cordoned off by security tape due to last-minute cancellations. It was clear that something big was happening.

But with more than 900 vendors exhibiting this year, I'm glad to see that Embedded...

## Review: Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques

February 28, 2023
Introduction

Full disclosure: I was given a copy of this book to review.

Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques, by Jacob Beningo, is an excellent introduction to strategies for embedded systems design and bringing those designs to fruition. Renowned embedded systems expert Jack Ganssle was the technical reviewer.

This is a practical how-to book on the modern professional practice of embedded systems...

## C to C++: 3 Proven Techniques for Embedded Systems Transformation

February 7, 20234 comments

For 50 years, the C programming language has dominated the embedded software industry. Even today, more than 80% of embedded projects are using C; however, over the last few years, many teams have begun transitioning from C to C++. C++ offers embedded developers a robust, modern set of tools that can be used to write flexible, scalable, and reusable applications. As embedded applications become more complex and connected, teams need a more modern language to help them deal with the software...

## Libgpiod - Toggling GPIOs The Right Way In Embedded Linux

January 24, 2023
Overview

We all know that GPIO is one of the core elements of any embedded system. We use GPIOs to control LEDs and use them to monitor switches and button presses. In modern embedded systems, GPIOs can also be used as pins for other peripheral busses, such as SPI and I2C. Similar to the previous article on interacting with peripherals on an SPI bus in userspace via SPIdev (https://www.embeddedrelated.com/showarticle/1485.php), we can also control GPIOs from userspace on an embedded...

## Basler pylon on Raspberry Pi with Yocto

January 21, 2023

Camera vendors are increasing offering Yocto layers to simplify the integration of drivers and the creation of cross-compilation environments. This article demonstrates how Yocto can be used to integrate Basler pylon into a Raspberry Pi Linux image.

Basler's pylon Camera Software Suite includes an SDK, a viewer and drivers for development and operation of vision software using Basler cameras. When deployed in Windows environments, pylon is usually installed on a booted Windows image using...

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

December 31, 2022

Today we’re going to look at what’s been going on this past year in the chip shortage, particularly in the automotive markets. I’m going to share some recent events and statements that may shed some light on what’s been happening.

In Part Three we went through a deep dive on some aspects of Moore’s Law, the semiconductor foundries, and semiconductor economics, and we looked at the game Supply Chain Idle. We touched on a couple of important points about the...

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

December 10, 2022

Hello again! Today we’re going to take a closer look at Moore’s Law, semiconductor foundries, and semiconductor economics — and a game that explores the effect of changing economics on the supply chain.

We’ll try to answer some of these questions:

• What does Moore’s Law really mean, and how does it impact the economics of semiconductor manufacturing?
• How does the foundry business model work, and how is it affected by the different mix of technology...

## A Beginner's Guide to Embedded Systems

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

## Introduction to Microcontrollers - Beginnings

August 20, 201314 comments

Welcome to this Introduction to Microcontroller Programming tutorial series. If you are looking to learn the basics of embedded programming for microcontrollers (and a bit of embedded hardware design as well), I hope these tutorials will help you along that journey. These are my first postings here, and I am writing this tutorial series because over the years I have seen countless newbies asking the same questions and tripping over the same stumbling blocks, and I thought I might be able to...

## MSP430 Launchpad Tutorial - Part 2 - Interrupts and timers

June 17, 201342 comments

What is an "interrupt"? It is a signal that informs our MCU that a certain event has happened, causing the interruption of the normal flow of the main program and the execution of an "interrupt routine", that handles the event and takes a specified action.

Interrupts are essential to avoid wasting the processor's valuable time in polling loops, waiting for external events (in fact they are used in Real-Time Operating Systems,

## VHDL tutorial - A practical example - part 3 - VHDL testbench

June 25, 20118 comments

In part 1 of this series we focused on the hardware design, including some of the VHDL definitions of the I/O characteristics of the CPLD part.  In part 2, we described the VHDL logic of the CPLD for this design.  In part 3, we will show the entire VHDL design and the associated tests used to prove that we have, in fact, designed what we started out to design.

First, let's pull all of the pieces of the prior design together into a...

## Analyzing the Linker Map file with a little help from the ELF and the DWARF

December 27, 201521 comments

When you're writing firmware, there always comes a time when you need to check the resources consumed by your efforts - perhaps because you're running out of RAM or Flash or you want to optimize something. The map file generated by your linker is a useful tool to aid in the resource analysis. I wanted to filter and sort the data generated in an interactive way so I wrote a C# WinForms application that reads the data from the map and presents it in a list view (using the awesome

## MSP430 LaunchPad Tutorial - Part 4 - UART Transmission

July 3, 201320 comments

Today we are going to learn how to communicate using UART with the Launchpad. For this purpose I will replace the default microcontroller that comes with the board with the MSP430G2553. It is the most powerful device in the MSP430 Value Line and it comes with an integrated hardware UART module, along with 16 Kb of Flash memory, 512 bytes of SRAM and an 8-channel, 10 bit ADC.

UART communication can be useful when dealing with sensors: as a basic example, we could...

## How FPGAs work, and why you'll buy one

June 20, 201315 comments

Today, pretty much everyone has a CPU, a DSP and a GPU, buried somewhere in their PC, phone, car, etc. Most don't know or care that they bought any of these, but they did.

Will everyone, at some future point, also buy an FPGA? The market size of FPGAs today is about 1% of the annual global semiconductor sales (~$3B vs ~$300B). Will FPGA eventually...

## Understanding and Preventing Overflow (I Had Too Much to Add Last Night)

December 4, 2013

Happy Thanksgiving! Maybe the memory of eating too much turkey is fresh in your mind. If so, this would be a good time to talk about overflow.

In the world of floating-point arithmetic, overflow is possible but not particularly common. You can get it when numbers become too large; IEEE double-precision floating-point numbers support a range of just under 21024, and if you go beyond that you have problems:

for k in [10, 100, 1000, 1020, 1023, 1023.9, 1023.9999, 1024]: try: ...

## Adventures in Signal Processing with Python

June 23, 201311 comments

Author’s note: This article was originally called Adventures in Signal Processing with Python (MATLAB? We don’t need no stinkin' MATLAB!) — the allusion to The Treasure of the Sierra Madre has been removed, in deference to being a good neighbor to The MathWorks. While I don’t make it a secret of my dislike of many aspects of MATLAB — which I mention later in this article — I do hope they can improve their software and reduce the price. Please note this...

## MSP430 Launchpad Tutorial - Part 1 - Basics

June 14, 201319 comments

TI's LaunchPad is a complete MSP430 development environment: all you have to do is download and install CCS IDE (login required), connect your G2231-ready LaunchPad to your computer with the included mini-usb cable, and you are ready to code!

Texas Instrument MSP430 LaunchPad

So, let's see how to start a new project in Code Composer Studio. This IDE is derived from Eclipse, so if you used it before you shouldn't have much problems.

We'll write a simple program that will...

## How to Read a Power MOSFET Datasheet

September 15, 201514 comments

One of my pet peeves is when my fellow engineers misinterpret component datasheets. This happened a few times recently in separate instances, all involving power MOSFETs. So it’s time for me to get on my soapbox. Listen up!

I was going to post an article on how to read component datasheets in general. But MOSFETs are a good place to start, and are a little more specific. I’m not the first person to write something about how to read datasheets; here are some other good...

## Back from Embedded World 2023

March 23, 20231 comment

It was great to be back in Nuremberg for Embedded World after three long years. The trade show is probably the most significant event in the embedded systems industry, and it was a relief to see that it has survived the pandemic with more than 900 vendors exhibiting.

I recorded this video on the very first day when the doors opened.  What you see in the video is probably 10% or less of the full show floor.  I am always impressed by the size of...

## What to See at Embedded World 2023

March 6, 2023

Embedded World 2023 is just around the corner, and I am thrilled to be attending this year's edition in Nuremberg, Germany. The last time I was there was three years ago, and the world was on the cusp of a major pandemic. It was a surreal experience as many booths and exhibits were empty and cordoned off by security tape due to last-minute cancellations. It was clear that something big was happening.

But with more than 900 vendors exhibiting this year, I'm glad to see that Embedded...

## Favorite Software AND Hardware Tools for Embedded Systems Development

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

## A New Related Site!

September 22, 20222 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...

## New Promo Video for the 2022 Embedded Online Conference

April 19, 2022

Less than a week to go before the conference! Check out our 2022 Embedded Online Conference promo video, featuring (in order of appearance) Helen Leigh, Peter McLaughlin, Jack Ganssle, Tyler Hoffman, Steve Branam, Colin O'Flynn, Miro Samek, Henk Muller, Jacob Beningo, Harrison Donahue, Kate Stewart, Clive (Max) Maxfield, Don Wilcher, Adam Taylor, and Jean Labrosse.

If you haven't registered for the conference yet, please consider doing so today.  Make sure to use the...

## 2022 Embedded Online Conference - Final Push!

April 8, 2022

With the Embedded Online Conference only a couple of weeks away, we are now doing a final push to ensure that as many engineers as possible who could benefit from the conference are aware of it.

If you'd like to help us spread the word, not only will you make our day, but you'll also earn a chance to win one of TWO Saleae Logic Pro 8.

Prize: TWO Saleae Logic Pro 8Raffle...

## The 2021 DSP/ML Online Conference

September 29, 2021

The 2021 DSP/ML Online Conference is just around the corner and this year again, the program is packed with opportunities to learn.

By registering for the conference, not only will you have full access to all talks, workshops, and Q&A sessions at this year's event, but you'll also gain instant access to all talks from last year's edition.

We've asked the speakers to tell me a few words about their sessions, here are some of the answers we've...

## Embedded Online Conference 2021 - Watch the Speakers Share their Thoughts on the Value for Attendees

May 4, 20212 comments

Over the last few weeks, we've had a chance to chat with some of the speakers at the upcoming Embedded Online Conference.  We asked them to share their thoughts on conferences and the Embedded Online Conference in particular.  Here are their answers edited together in one video:

If you are not registered yet for the conference but are considering it, please make sure to use the promo code ER149 to save more than 40% on your registration...

## 8 Weeks - 8 Giveaways!

March 10, 2021

If for some reason, you've been putting off registering for the upcoming 2021 Embedded Online Conference, here are 8 good reasons to register today.

The idea is simple; if you are registered for the conference by the 'raffle date' for any of the following giveaways, you'll automatically be entered into the draw.

So for instance, if you are already registered for the conference or register before March the 22nd, you'll be automatically entered into the 8 draws...

## Announcing the 2021 Embedded Online Conference!

January 27, 20211 comment

Once again this year, Jacob Beningo and I are putting together the Embedded Online ConferenceLast year's edition was a very rewarding experience, with over 6,000 registrants, fantastic & insightful talks, and lots of positive feedback.  For this year's edition, we are delighted to announce that none other than Jack Ganssle will be giving a Keynote presentation about the 50th anniversary of the Microprocessor.

The 2021 Embedded Online Conference will...