Barr Group TwitterBarr Group Vimeo

These blog posts discuss the design and/or efficient implementation of various programming algorithms.

Introduction to Closed-Loop Control and PID

 Printable PDF

Most control systems utilize feedback in some manner. Here's a look at several fundamental feedback mechanisms, culminating in a description of a basic PID controller.

Introduction to Pulse Width Modulation (PWM)

 Printable PDF

Pulse width modulation (PWM) is a powerful technique for controlling analog circuits with a processor's digital outputs. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion.

How to Preserve Non-Volatile Data Across Software Versions

 Printable PDF

The format of non-volatile data may change with a new version of software. Carefully planning data layouts and using data version numbers can make these upgrades easier.