"Barr Group training courses should be required before writing any embedded code."

General Dynamics


Find definitions for technical terms in our Embedded Systems Glossary.

Z Symbols

Test Your Skills

How good are your embedded programming skills? Test yourself in the Embedded C Quiz or the Embedded C++ Quiz.

Test Your Skills

Newsletter Signup

Want to receive free how-to articles and industry news as well as announcements of free webinars and other training courses by e-mail? Signup now.

Catalog of Embedded Systems Training Courses

Barr Group's mission is to help as many people as possible make safer, more reliable, and more secure embedded systems. Toward that end we have developed a number of training courses on different technologies and engineering techniques. This page contains a complete list of Barr Group's "stock" training courses. Any of these courses can be taught as is on-site at your company's facility or be customized to fit your team's specific needs.

Embedded Boot Camps

Barr Group's Embedded Boot Camps are intensive 4.5-day, hands-on training programs designed to rapidly increase the knowledge and skills of embedded systems design teams. We regularly teach these boot camps in public venues (see our training calendar for upcoming dates and locations) as well as on-site at private companies around the world.

Course TitleLengthHands On?CEUs
Embedded Software Boot Camp ®4.5 daysYes3.5
Embedded Security Boot Camp ®4.5 daysYes3.5
Embedded Android Boot Camp4.5 daysYes3.5


Courses about Embedded Programming

Embedded software is mostly written in the C programming language (and assembly) but sometimes also C++ and Java. Though there are literally hundreds of books on programming, very few address how to interface directly to sensors, A/D converters, motors, pushbuttons, and LCD displays. Barr Group's programming language courses below address these and other embedded-specific concerns.

Course TitleLengthHands On?CEUs
Hardware Interfacing with C2 daysYes1.5
Embedded Programming with C++2 daysYes1.5
Real-Time Programming with Java2 daysYes1.5


Courses about Software Development Processes

Barr Group's embedded software process courses are designed to enable software/firmware engineers and engineering managers to immediately build higher quality embedded software (i.e., code with fewer bugs) more quickly, using best practice project management techniques and principles to move software development forward while also detecting defects as early and inexpensively as possible.

Course TitleLengthHands On?CEUs
Firmware Defect Prevention for Safety-Critical Systems1 dayNo0.7
Best Practices for Securing Embedded Systems2 dayNo1.5
Developing Effective Coding Standards1 dayNo0.7
Test-Driven Development for Embedded C Programmers2 daysYes1.5
Legacy Code Workshop for Test-Driven Development1+ daysYes0.7
An Agile Approach to Embedded Software Development1 dayNo0.7
Faster Firmware: How to Create More Reliable Embedded Software in Less Time1 dayNo0.7
Debugging Embedded Software on the Target2 dayYes1.5


Courses about Embedded Software Architecture

The development of embedded software frequently requires engineers to make challenging architectural tradeoffs. For example, do you need a real-time operating system (RTOS)? If not, what is the best alternative? Barr Group's embedded software architecture courses are designed to teach software/firmware engineers and software/system architects to make the best architectural decisions possible for their projects.

Course TitleLengthHands On?CEUs
Embedded Software Architecture1 dayNo0.7
Event-Driven Programming and State Machines2 daysYes1.5
Reliable Multithreaded Programming with/without RTOS2 daysYes1.5


Courses about Electronics Hardware

Designing and interfacing directly to hardware for embedded systems presents special challenges because of tight resource constraints and requirements for real-time performance. Barr Group's embedded hardware training courses provide both a strong conceptual foundation as well as practical hands-on experience with embedded hardware.

Course TitleLengthHands On?CEUs
Using the ARM Cortex M3 Processor2 daysYes1.5
Low Power Hardware Design1 dayNo0.7
Hardware-Firmware Interface Design1 dayNo0.7


* Continuing Education Units

A CEU, or Continuing Education Unit, is a standard measure of post-university training hours sometimes required by those employed in licensed professions, such as Professional Engineers (PEs). CEUs are also tracked by certain companies that employ engineers, for purposes of reimbursement of course registration fees. Every 10 hours of participation in Barr Group training results in the award of 1.0 CEU units. For example, our Embedded Boot Camp courses span 4.5 days with a minimum of 35 hours of total lecture and hands-on training time, which results in an award of 3.5 CEUs. Course attendees desiring proof of receipt of CEUs from Barr Group need only contact us for a certificate. Our training records are maintained for 7 years.