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 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.

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.

Introduction to Priority Inversion

 Printable PDF

When tasks share resources, as they often do/must, strange things can and will happen. Priority inversions can be particularly difficult to anticipate. A basic understanding of the problem is key.

How Endianness Works: Big-Endian vs. Little Endian

 Printable PDF

Which is the most convenient end on your system? The choices are big endian and little endian.

Some human languages are read and written from left to right; others from right to left. A similar issue arises in the field of computers, involving the representation of numbers.

Pages