How-to videos about designing embedded systems and software.

Embedded Control Systems in Practice

An introduction to embedded control systems along with a practical example on the differences between open and closed loop systems.

Inexpensive Firmware Process Improvements for Small Teams

Learn practical and easy-to-apply software process improvements that even the smallest design teams can use to make firmware easier to code, debug and test, with a tools cost of less than $600.

ESC Boston: Dangerous Flaws in Safety-Critical Device Design

On May 3, 2017, Barr Group CTO and software expert Michael Barr delivered this keynote about the safety and security of Internet of Things devices at the Embedded Systems Conference in Boston.

How to Prioritize RTOS Tasks (and Why It Matters)

This webinar examines best practices for assigning fixed priorities to a set of real-time operating systems (RTOS) tasks and interrupt service routines (ISRs). Viewers will learn how and why to use optimal methods to allow a critical set of tasks and interrupt service routines to meet all of their deadlines – even during transient overload periods. Lessons learned can be applied to the development of any priority-based preemptive RTOS, including real-time Linux.

How to Prevent and Detect Stack Overflow

The safety and security of every embedded system is dependent upon proper operation of the stack (or stacks, if there are multiple). If a stack overflow occurs, a major or minor malfunction is very likely to follow. Despite this, the stack in the majority of embedded systems is sized based on nothing more than a hunch. As well, run-time stack monitoring is too seldom used.

How to Get Started with C++ in Embedded Systems

C++ compilers are available for most modern embedded processors, yet the adoption rate remains low. Here we provide very practical advice to help you can get started with C++ immediately. The discussion moves quickly from dispelling common C++ myths and identifying key C++ benefits to a set of practical tips and tricks to help you put C++ to the most effective use in your "first month" and "first year."

2016 Safety & Security Survey

Barr Group's 2016 Embedded Systems Safety & Security Survey had participation from more than 2,500 embedded systems design engineers and revealed a number of interesting trends in the embedded industry.

How to Prevent Bugs in Embedded Software with TDD

It’s a fact: When you create code, you create bugs. Listen in as we present the finer points of Test-Driven Development (TDD) - a game-changing approach to embedded software development that can greatly reduce bugs early in the development process. TDD is not a debugging technique but rather an approach to proactively preventing defects.

How to Make Embedded Software Smaller and Faster

Many embedded systems have reliability, cost, and performance requirements that demand performance be designed into the system, from architecture to algorithms to data structures to coding guidelines.

How to Find and Fix the Most Common Embedded Software Bugs

As if debugging traditional PC/server software or even smartphone apps wasn't hard enough, debugging embedded software adds significant challenges.