Embedded Software Courses

Level up your embedded development skills with hands-on, expert-led training.

Courses

Best Value

Embedded Software Academy Yearly Subscription

Enhance your skills, streamline your processes, and elevate your architecture. Join the academy for on-demand, hands-on workshops and cutting-edge development resources designed to transform your career and keep you ahead of the curve. You’ll gain access to all the workshops on this page, our community, special member webinars, and more for one low price.

$295/yr Learn More

Embedded AI & Modern Tooling

AI for Embedded Developers

AI for Embedded Developers: Skills, Agents, & Workflows

This practical, hands-on workshop introduces effective use of AI in embedded software development. Rather than focusing on theory or vendor-specific tools, the course teaches a systems-level approach for turning AI into a reliable firmware teammate, one that understands your codebase, your hardware, and your development constraints.

Embedded DevOps

Embedded DevOps: A Primer on Build Systems and CI/CD Pipelines

Embedded software development is a crucial aspect of modern technology, enabling the functionality of countless devices we interact with daily. This workshop aims to provide a comprehensive primer on these vital practices, equipping participants with the knowledge and skills necessary to tackle complex firmware projects with confidence.

Software Architecture & Design

Embedded Software Architecture Masterclass

Embedded Software Architecture Masterclass

This masterclass provides a practical, hands-on deep dive into embedded software architecture, equipping engineers with the skills, patterns, and decision-making frameworks needed to build modern, modular, and resilient embedded systems. Through real-world case studies and guided exercises, you’ll learn how to apply industry-proven architectural practices such as ADRs, data-centric design, and more!

SOLID Principles for Embedded Software Design

SOLID Principles for Embedded Software Design

In this hands-on workshop, you’ll learn how to apply SOLID principles to architect, build, simulate, test, and scale embedded software. You’ll learn the principles that allow you to design a flexible and scalable architecture. With these skills, you’ll be able to use modern development practices like DevOps, TDD, and simulation seamlessly to build embedded systems.

Programming Languages

Embedded Rust Essentials

Embedded Rust Essentials for Embedded Developers

Discover Rust’s power for embedded systems! Join our hands-on Embedded Rust Essentials workshop. Learn to build safer, high-performance applications with Rust, set up your environment, and master key features like memory safety, concurrency, and C/C++ integration. Stay ahead with cutting-edge skills and elevate your career.

Migrating to C++: Classes and OO Design

Migrating to C++: Classes and OO Design

Object-oriented programming concepts, such as inheritance, polymorphism, and encapsulation, are challenging for embedded C programmers. The focus of the training course is on applying C++ to the development of embedded software. We cover topics such as basic classes, objects, constructors, inheritance, and polymorphism.

Mastering MISRA C for Embedded Developers

Mastering MISRA C for Embedded Developers

Boost your embedded C skills with our half-day MISRA C training workshop! Gain practical insights into the latest MISRA C:2023 guidelines, enhancing the reliability, portability, and safety of your projects. Perfect for both beginners and experts, this intensive session equips you with essential techniques for robust and safety-critical development.

Expert C Techniques for Embedded Developers

Expert C Techniques for Embedded Developers

The C language skills that are necessary to build a robust, commercial embedded systems product are often not taught at the university or in industry training courses. While plenty of courses teach C syntax and fundamentals, how do you go about using C to write production intent code that is robust and reliable for use in embedded systems?

Real-Time Operating Systems

RTOS Workshop Package for Embedded Developers

RTOS Workshop Package for Embedded Developers

Unlock the full potential of RTOS with our comprehensive workshop! Perfect for embedded developers, this package includes RTOS Fundamentals, Design Techniques, and Best Practices. Gain all the skills needed to excel in real-time operating system development. Dive deep into RTOS and become highly proficient.

Real-Time Operating System Fundamentals

Real-Time Operating System Fundamentals

Embedded systems are complex, resource-constrained devices that require a robust RTOS. In this training workshop, attendees are guided through RTOS fundamentals, starting with simple bare-metal scheduling techniques and advancing to decomposing applications into tasks, setting priorities, and managing memory.

Designing and Building RTOS Applications

Designing and Building RTOS Applications

Level up your RTOS skills! This hands-on course is perfect for developers who know the basics but want to design and build effective RTOS-based applications. Design and build an IoT device to master system decomposition, priority setting, responsiveness, data transmission, and health monitoring.

RTOS Best Practices Workshop

RTOS Best Practices Workshop

Real-time operating systems (RTOS) offer a powerful framework for designing flexible and scalable embedded systems. This workshop explores RTOS best practices, advanced techniques, and design patterns rarely covered elsewhere. Attendees will become experts in practical RTOS application design for embedded systems.

Introduction to Zephyr RTOS

Introduction to Zephyr RTOS

In this hands-on workshop, participants will learn everything they need to know to get started designing and implementing Zephyr applications. You’ll learn how to set up, configure, and use Zephyr in your own projects. Once you have Zephyr running, you’ll learn how to interface with common peripherals like GPIO, USART, SPI, I2C, and the Zephyr connectivity stacks.

Bootloader Design

Bootloader Design Techniques for MCUs

Bootloader Design Techniques for MCUs

The Bootloader Design Techniques for MCUs workshop walks software engineers through every stage of the bootloader design process and provides hands-on examples and case studies to accelerate the engineers’ abilities and allow them to walk away with the skills and knowledge necessary to implement a bootloader on any microcontroller with any communication interface.

Don't See What You Need?

Contact us for a custom course tailored to your team's requirements.