How embedded software is designed and built has evolved over the last several years. Embedded systems are no longer simple disconnected systems but powerful microcontroller-driven devices balancing connectivity, machine learning, and real-time control. This course will explore how to design and build modern embedded systems that use microcontrollers. Registration and Playback are located here (May require … Continue reading CEC – Embedded Software Design Techniques
Year: 2022
How to Debug a Hard Fault on an Arm Cortex-M
In my opinion, one of the worst, most annoying faults to debug on an Arm Cortex-M microcontroller is a hard fault. If you are lucky, the hard fault appears after you’ve made some glaringly obvious mistake, and you can quickly undo it. I recently worked with a colleague who encountered a hard fault, but it … Continue reading How to Debug a Hard Fault on an Arm Cortex-M
3 Tips for Avoiding “Reactive” Engineering
Over the years, I’ve noticed that engineering teams fall into two camps: reactive and proactive. As one might guess, the most successful teams are proactive. They identify potential problems before they occur and put into play a series of contingency plans that allow them to navigate the issues nearly seamlessly. On the other hand, reactive … Continue reading 3 Tips for Avoiding “Reactive” Engineering
Simple Tricks to Minimize “Crossed-Wire” PCB Rework
One of the most common issues I see with schematic and PCB layout is crossed wires. For example, the designer has connected the USART peripherals transmit line to the transmit line of the receiving device instead of the receiving line. The designer thought they had it right, but maybe each device specified what Tx and … Continue reading Simple Tricks to Minimize “Crossed-Wire” PCB Rework
3 Tips for Embedded Software Configuration Management
Embedded software configuration management can be a tricky endeavor. Systems today are often designed to work in multiple products, for various customers, over long-time frames. These systems require the ability to be easily configured so that the code does not become a nightmare and minimize the chances of improperly configuring them. In this post, we … Continue reading 3 Tips for Embedded Software Configuration Management
5 Tips for Versioning Embedded Software
As you know, embedded software changes at a dramatic rate. How we manage software version information dramatically affects whether we can successfully understand the differences between those versions. Several years ago, I wrote a blog entitled 5 Tips for Versioning Embedded Systems. Today’s post will explore a few tips for versioning embedded software. Tip #1 … Continue reading 5 Tips for Versioning Embedded Software
3 Overlooked Embedded Software Elements
Have you ever wondered, while you and your team are busy writing software if the very 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 … Continue reading 3 Overlooked Embedded Software Elements
5 Tips for Becoming More Agile
Nearly every embedded software team I encounter is interested in becoming more agile. Adopting Agile practices can dramatically improve how agile a team is. Businesses and developers all want to be able to deliver faster. We don’t want the headache of late and buggy code, yet we often just accept that is what life is … Continue reading 5 Tips for Becoming More Agile
2022 FIRST Robotics Competition – Team 7769
Back in the year 1998, the FIRST Robotics Competition gave me the opportunity to be involved in my first major engineering project. As a member of Team 67 (Heros of Tomorrow), which was sponsored by the General Motors Proving Grounds in Milford, MI, I had the opportunity to be mentored by engineers and get hands-on … Continue reading 2022 FIRST Robotics Competition – Team 7769
5 Tips for Rapid Prototyping with the Raspberry Pi Pico
Over the last several years, Raspberry Pi’s have proliferated into all sorts of applications. As a microcontroller-focused embedded software consultant, I’ve always found them fun and interesting, but not exactly my cup of tea. However, in January 2021, the Raspberry Pi Pico was released which at its heart has an RP2040 dual-core microcontroller based on … Continue reading 5 Tips for Rapid Prototyping with the Raspberry Pi Pico