Barr Group TwitterBarr Group Vimeo

Printable Download: Michael Barr Profile and CV

Barr Group co-founder Michael Barr is a former adjunct professor of electrical and computer engineering with many years of hands-on software design and implementation experience. Internationally recognized as an expert in the field of embedded software process and architecture, Barr has been admitted as a testifying expert witness in U.S. and Canadian court cases involving issues of reverse engineering (including DMCA), interception of encrypted signals (Federal Communications Act), patent infringement, theft of copyrighted source code (including trade secrets issues), and product liability.

Barr's software has powered millions of embedded devices. He is also the author of three books and more than seventy published articles and papers about embedded systems design. For more than a decade, he was a regular invited speaker at the Embedded Systems Conferences around the world and, at times, served as a member of the conference's advisory board and as chair for various tracks.

See Michael Barr's expert witness resume >

Education

Master of Science in Electrical Engineering (MSEE), University of Maryland
Bachelor of Science in Electrical Engineering (BSEE), University of Maryland
Master of Business Administration (MBA), University of Maryland

Notable Projects

  • Taught electrical engineering and computer science courses at the University of Maryland and Johns Hopkins University.
  • Testified as an expert witness in half a dozen jury trials, including cases of automotive product liability and software copyright infringement, at each of which his client prevailed.
  • Plaintiff's expert on-behalf of companies including Bally Gaming, DirecTV, EchoStar, and Motorola and opposite companies including Apple, Cisco, Electronic Arts, Huawei, LG, Toyota, and ZTE.
  • Defense expert for companies including Bell ExpressVu, Fresenius Medical, NDS Group, and Samsung.
  • Developed software for various products, including safety-critical mechanical systems involving closed-loop control systems and high volume consumer electronics for digital television.
  • Consulted with and trained engineers and engineering managers and executives at various companies, including makers of FDA-regulated medical devices such as pacemakers and implanted defibrillators, insulin pumps, and glucose meters.
  • Former editor-in-chief of Embedded Systems Programming magazine, which at its peak had more than 60,000 engineers as monthly subscribers.
  • Keynote speaker at the 2014 Embedded Systems Conference on the topic of Killer Apps: Embedded Software's Greatest Hit Jobs.
  • Author of the widely-followed Embedded C Coding Standard.

Skills Summary

  • Languages: C, C++, Java, assembly
  • Processors: ARM, Microchip PIC, Intel 80x86, Motorola 68k, PowerPC, and others
  • Operating Systems: MicroC/OS, VxWorks, OSEK, and RTOSes generally; DOS and Windows; Linux/Unix

Notable Publications

Patents Awarded

  • U.S. Patent No. 6,976,562: Method of Calibrating a Brake System for Stationary Equipment and Apparatus for Doing the Same
  • U.S. Patent No. 7,210,116: Method and Apparatus for Synthesizing a Hardware System from a Software Description
  • U.S. Patent No. 7,945,879: Method and Apparatus for Selecting a Hardware Representation from a Software Description

Introduction to Counter/Timer Hardware

 Printable PDF

Counter units (aka, timer units) are crucial components of most embedded systems and included in many microcontrollers. Here's a primer on the hardware.

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.

Embedded Linux and Copyright Law

 Printable PDF

The rising popularity of Linux has spurred many embedded developers to consider it as an RTOS alternative. Here's the straight scoop on the legal implications for the proprietary parts of your firmware.

KVM: A Small Java Virtual Machine for J2ME

 Printable PDF

Sun's K Virtual Machine gives embedded developers a virtual kick in the pants. KVM makes it possible to, for the first time, run Java programs on any 16-bit processor with 128KB of available memory.

Pages