<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Jacob Beningo Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Jacob_Beningo.php</link>
<description><![CDATA[RSS Feed for Jacob Beningo Blog on EmbeddedRelated.com]]></description>
<image><title>Jacob Beningo Blog on EmbeddedRelated.com</title>
<link>https://www.embeddedrelated.com/blogs-1/nf/Jacob_Beningo.php</link>
<url>https://d23s79tivgl8me.cloudfront.net/user/profilepictures/99957.jpg</url>
</image>
<atom:link href="https://www.embeddedrelated.com/blogs_rss.php?bloggerid=99957" rel="self" type="application/rss+xml"></atom:link>
<language>en-US</language>
<lastBuildDate>Tue, 14 Apr 2026 16:56:43 +0000</lastBuildDate>
<pubDate>1776185803</pubDate>
<item>
<title>Why Containers Are the Cheat Code for Embedded DevOps</title>
<link>https://www.embeddedrelated.com/showarticle/1759.php</link>
<description><![CDATA[<p>Most embedded teams still think setting up toolchains is just “part of the job.”
</p>
<p>It isn’t.
</p>
<p>You think setup is part of the job. In reality, it’s what delays onboarding, blows up CI due to environment mismatches, and makes “works on my machine” a meme.
</p>
<p>Weeks get wasted replicating environments that should take minutes.
</p>
<p>Meanwhile, enterprise software engineers solved this...]]></description>
<pubDate>Mon, 29 Sep 2025 23:16:57 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>3 Tips for Developing Embedded Systems with AI</title>
<link>https://www.embeddedrelated.com/showarticle/1731.php</link>
<description><![CDATA[<p>AI is not a replacement for developers but an interesting augmentation tool.</p><p>Now, you might think that AI doesn’t have a place in embedded systems. Embedded devices are too resource-constrained, and AI models aren’t trained for embedded.</p><p>If you look past what we’re building to how we’re building them, you’ll discover countless ways to leverage AI to save development time and...]]></description>
<pubDate>Sat, 01 Mar 2025 17:53:11 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>7 Essential Steps for Reducing Power Consumption in Embedded Devices</title>
<link>https://www.embeddedrelated.com/showarticle/1667.php</link>
<description><![CDATA[<p>Reducing the amount of power your embedded device is consuming is not trivial. With so many devices moving to battery operations today, maximizing battery life can be the difference between a happy, raving customer and an unhappy one that ruins your company's reputation.&nbsp;</p>
<p>Reducing the power consumption of your embedded device early in the development cycle is a strategic move and a...]]></description>
<pubDate>Wed, 26 Jun 2024 17:26:51 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: Templates and Generics – Supercharging Type Flexibility</title>
<link>https://www.embeddedrelated.com/showarticle/1647.php</link>
<description><![CDATA[<p>While beneficial to embedded developers, the C programming language can be inflexible. For example, have you ever had a function that had to manage multiple types? How did you solve that problem?
</p>
<p>I bet you either duplicated that function, which led to confusing code or used a complex series of macros. Neither of those is terribly helpful because it creates code that is difficult to maintain...]]></description>
<pubDate>Sun, 24 Mar 2024 11:53:42 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>Creating a GPIO HAL and Driver in C</title>
<link>https://www.embeddedrelated.com/showarticle/1638.php</link>
<description><![CDATA[<p>Creating a <a href="https://en.wikipedia.org/wiki/Hardware_abstraction" target="_blank" rel="nofollow">GPIO HAL</a>, a hardware abstraction layer, in C is a fairly simple process. Yet, you’ll often find standards shy away from including them. For example, <a href="https://arm-software.github.io/CMSIS_5/General/html/index.html" target="_blank" rel="nofollow">CMSIS</a> does not include a GPIO HAL. If you read the documentation carefully, they’ll state that the GPIO configurations from one silicon vendor to the next are too different to create a HAL for. I beg to differ. In today’s post, we...]]></description>
<pubDate>Thu, 29 Feb 2024 00:52:20 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>A Sneak Peek at the 2024 Embedded Online Conference</title>
<link>https://www.embeddedrelated.com/showarticle/1626.php</link>
<description><![CDATA[<p>The embedded systems industry is evolving at a rapid pace. Just a few years ago, most embedded products were disconnected systems that used bare-metal scheduling techniques. Today, the drive to connect devices and add intelligence at the edge is revolutionizing how we build embedded products. The only way to stay current and not get left behind is to learn and network with colleagues and...]]></description>
<pubDate>Fri, 19 Jan 2024 21:27:34 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>Creating a Hardware Abstraction Layer (HAL) in C</title>
<link>https://www.embeddedrelated.com/showarticle/1596.php</link>
<description><![CDATA[<p>In my last post, <a href="https://www.embeddedrelated.com/showarticle/1579.php">C to C++: Using Abstract Interfaces to Create Hardware Abstraction Layers (HAL)</a>, I discussed how vital hardware abstraction layers are and how to use a C++ abstract interface to create them. You may be thinking, that’s great for C++, but I work in C! How do I create a HAL that can easily swap in and out different drivers? In today’s post, I will walk through exactly how to...]]></description>
<pubDate>Mon, 23 Oct 2023 14:08:14 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: Using Abstract Interfaces to Create Hardware Abstraction Layers (HAL)</title>
<link>https://www.embeddedrelated.com/showarticle/1579.php</link>
<description><![CDATA[<p>A critical practice in embedded software development that most C programmers are familiar with is creating a Hardware Abstraction Layer (HAL). A HAL is used to separate application code from the hardware. Put another way, a HAL decouples the application code from the hardware it runs on, improving portability, reusability, and testing. So far in this series, we’ve looked at tips, tricks, and...]]></description>
<pubDate>Thu, 21 Sep 2023 11:57:44 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: 5 Tips for Refactoring C Code into C++</title>
<link>https://www.embeddedrelated.com/showarticle/1551.php</link>
<description><![CDATA[<p>In our C to C++ series, we’ve been discussing the fundamental details that embedded developers and teams need to transition from using C to C++. In our last post, <a href="https://www.embeddedrelated.com/showarticle/1515.php">C to C++: Bridging the Gap from C Structures to Classes</a>, we discussed the differences between C and C++ structures and objects. Many teams interested in using C++ don’t need to jump off the deep end into metaprogramming and other...]]></description>
<pubDate>Sun, 23 Jul 2023 18:12:11 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>An Iterative Approach to USART HAL Design using ChatGPT </title>
<link>https://www.embeddedrelated.com/showarticle/1534.php</link>
<description><![CDATA[<p>Artificial Intelligence (AI) and Machine Learning (ML) are taking the world by storm. I know that many embedded systems teams are often slow to adopt new technologies, and so far, the use of AI/ML is no different. However, to keep up in today’s competitive landscape, you must experiment, learn, and understand where and when to apply AI models to your work. If used correctly, they can remove...]]></description>
<pubDate>Mon, 19 Jun 2023 15:53:56 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: Bridging the Gap from C Structures to Classes</title>
<link>https://www.embeddedrelated.com/showarticle/1515.php</link>
<description><![CDATA[<p>In our last post, <a href="https://www.embeddedrelated.com/showarticle/1499.php">C to C++: Proven Techniques for Embedded Systems Transformation</a>, we started to discuss the different ways that C++ can be used to write embedded software. You saw that there is no reason to be overwhelmed by trying to adopt complex topics like metaprogramming out of the gate. An important concept to understand is that you can make the transition gradually into C++ while still...]]></description>
<pubDate>Tue, 23 May 2023 15:41:33 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>Visual Studio Code Extensions for Embedded Software Development</title>
<link>https://www.embeddedrelated.com/showarticle/1502.php</link>
<description><![CDATA[<p>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...]]></description>
<pubDate>Wed, 22 Mar 2023 21:11:52 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: 3 Proven Techniques for Embedded Systems Transformation</title>
<link>https://www.embeddedrelated.com/showarticle/1499.php</link>
<description><![CDATA[<p>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...]]></description>
<pubDate>Tue, 07 Feb 2023 16:16:06 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>C to C++: 3 Reasons to Migrate</title>
<link>https://www.embeddedrelated.com/showarticle/1478.php</link>
<description><![CDATA[<p>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...]]></description>
<pubDate>Mon, 31 Oct 2022 13:45:05 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>Five ‘80s Movies that Inspired Me to Become an Engineer</title>
<link>https://www.embeddedrelated.com/showarticle/1459.php</link>
<description><![CDATA[<p>Five ‘80s Movies that Inspired Me to Become an Engineer
</p>
<p>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...]]></description>
<pubDate>Wed, 20 Jul 2022 15:25:47 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>3 Overlooked Embedded Software Elements</title>
<link>https://www.embeddedrelated.com/showarticle/1457.php</link>
<description><![CDATA[<p>Have you ever wondered, while you and your team are busy writing software if the foundation of how embedded software systems are built has changed and left you in the dust? What if while you were busily focusing on getting your product out the door, fighting bugs, and dealing with supply issues, there were techniques and processes that you completely overlooked that could save the day? I’ve...]]></description>
<pubDate>Sat, 09 Jul 2022 19:06:22 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>The 2021 IoT Online Conference</title>
<link>https://www.embeddedrelated.com/showarticle/1430.php</link>
<description><![CDATA[<p>The&nbsp;<a href="https://iotonlineconference.com/" target="_blank" rel="noopener">IoT Online Conference</a>&nbsp;is back, and this time the core focus is on IoT embedded systems and edge computing. This post will explore what will be happening at this year’s conference and how teams and developers can benefit.
</p>
The IoT Online Conference Overview
<p>The&nbsp;<a href="https://iotonlineconference.com/" target="_blank" rel="noopener">IoT Online Conference</a>&nbsp;will be taking place December...]]></description>
<pubDate>Tue, 09 Nov 2021 16:05:49 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>Introduction to Deep Insight Analysis for RTOS Based Applications</title>
<link>https://www.embeddedrelated.com/showarticle/1091.php</link>
<description><![CDATA[<p>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 time just debugging their systems. This is where deep insight analysis has the potential to dramatically decrease costs and time to market. </p>   ...]]></description>
<pubDate>Wed, 20 Sep 2017 13:38:03 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>From bare-metal to RTOS: 5 Reasons to use an RTOS</title>
<link>https://www.embeddedrelated.com/showarticle/1008.php</link>
<description><![CDATA[<p>Developers can come up with amazing and convoluted reasons to not use an RTOS. I have heard excuses ranging from they are too expensive (despite open source solutions) all the way to they aren’t efficient and use too much memory. In some circumstances some excuses are justified but there are many reasons why a developer should look to an RTOS to help with their real-time scheduling...]]></description>
<pubDate>Tue, 18 Oct 2016 18:44:02 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
<item>
<title>From Baremetal to RTOS: A review of scheduling techniques</title>
<link>https://www.embeddedrelated.com/showarticle/969.php</link>
<description><![CDATA[<p>Transitioning from bare-metal embedded software development to a real-time operating system (RTOS) can be a difficult endeavor. Many developers struggle with the question of whether they should use an RTOS or simply use a bare-metal scheduler. One of the goals of this series is to walk developers through the transition and decision making process of abandoning bare-metal thinking and getting...]]></description>
<pubDate>Wed, 08 Jun 2016 18:08:57 +0000</pubDate>
<author>Jacob Beningo</author>
</item>
</channel>
</rss>