Making Embedded Systems Price: 899 € | Seats: 75 Price: 899 € | Seats: 75
Join Now for 899 €/seat Join Now for 899 €/seat
Geometric illustration at the border
Geometric illustration at the border

Making Embedded Systems

Elecia is the author of the bestselling book: Making Embedded Systems: Design Patterns for Great Software and host of the popular Embedded podcast. She is also a principal embedded software engineer at Logical Elegance, Inc. Elecia will enable you to confidently work as an embedded software engineer.

Making Embedded Systems

A 10-week program with live classes, real-life projects, and teamwork

If you want to pursue a career as an embedded systems engineer, this course is for you.

After completing these lessons, you will be able to build production systems and work professionally as an embedded systems engineer. You’ll even be ready for the interviews!

Week by week, you’ll learn the foundations of embedded systems programming, and will walk away with the ability to design and build products of your own. You’ll gain practical knowledge and insights to accelerate your career as an embedded systems engineer.

Upcoming Cohort Pre-Sale
There are only 56 seats left for pre-order!
Cohort Name Class Period Registration Deadline Total Seats
#2 Orange Stars
Mar 12, 22 - May 21, 22 Sat - Mar 12, 22 - 4:00 PM UTC 75
  • Cohort Name
    Orange Stars
  • Class Period
    Mar 12, 22 - May 21, 22
  • Registration Deadline
    sáb - mar 12, 22 - 4:00 PM UTC
  • Available Seats
    75
Meet Your Peers
Jason
Aniruddh
Ohiosoje
Brandon
Mary
Huan
robbie
Jesse
Carrie
Ken
Graeme
Juan
Ricardo
Jennie
Hayden
Joe
Mihailo
Rubab
Emmanuel
Meet Your Peers
  • Brandon
    Brandon
  • Graeme
    Graeme
  • Aniruddh
    Aniruddh
  • Ken
  • Mihailo
    Mihailo
  • Emmanuel
  • Carrie
    Carrie
  • robbie
  • Ricardo
    Ricardo
  • Huan
    Huan
  • Hayden
    Works at @everactive
    Hayden
  • Juan
    Juan
  • Joe
    Joe
  • Mary
    Mary
  • Jason
    Jason
  • Rubab
    Rubab
  • Jennie
    Jennie
  • Ohiosoje
    Ohiosoje
  • Jesse
    Jesse
Current Cohort
Cohort Name Class Period Registration Deadline
#1 Red Jellies
Nov 13, 21 - Feb 12, 22 Sat - Nov 13, 21 - 4:00 PM UTC
Class is closed to new registrations
  • Cohort Name
    Red Jellies
  • Class Period
    Nov 13, 21 - Feb 12, 22
  • Registration Deadline
    sáb - nov 13, 21 - 4:00 PM UTC
Class is closed to new registrations
Meet Your Peers
John
Ryan
Jesus
Mark
Nick
Chris
Rebecca
Subhash
Zelalem
Martin
John
Marian
Ben
Ricardo
Jozie
Peter
Alexander
gojimmypi
Soutrik
Davide
Vijay
Ayesha
Matt
Mustafa
Debra
Daniel
Maíra
Aaron
Tim
Alexander
Robert
Emma
Salvatore
André
Michaël
David
Felix
Iain
Sai
Nuno
Brittany
Anjali
Rodrigo
Leandro
Julie
Bahati
Seth
Christopher
Timon
Meet Your Peers
  • Robert
  • Maíra
    Maíra
  • Zelalem
  • David
    David
  • Aaron
    Aaron
  • André
    André
  • Debra
    Founder of Bright Wearables, Maker, STEM Educator
    Works at Bright Wearables
    Debra
  • Peter
    Consultant by day, electronics enthusiast by night
    Works at Slalom
    Peter
  • Alexander
    Alexander
  • Mark
    Old engineer, still learning
    Works at Microchip
    Mark
  • John
    John
  • John
  • Sai
    Sai
  • Ricardo
    Ricardo
  • Alexander
    Alexander
  • Salvatore
    Salvatore
  • Rodrigo
    Rodrigo
  • Anjali
    Anjali
  • Seth
    Seth
  • Subhash
  • Michaël
  • Ryan
    Ryan
  • Emma
    Emma
  • Chris
  • gojimmypi
    Senior Software Engineer; B.S. Electronic Engineering
    gojimmypi
  • Brittany
    Community manager, gamer, and sticker collector
    Works at Great Scott Gadgets
    Brittany
  • Vijay
    Vijay
  • Leandro
    Electrical Engineer/Product Manager
    Works at Automatize/Eonix Tecnologia
    Leandro
  • Davide
    Davide
  • Felix
    Felix
  • Ben
    Codes hardware and solders software, with a bit of magic
    Works at Hencke Technologies, Inc.
    Ben
  • Jozie
    Jozie
  • Nick
    Nick
  • Mustafa
    Mustafa
  • Julie
    Julie
  • Iain
    Iain
  • Jesus
    Works at Rivian
    Jesus
  • Timon
    Timon
  • Marian
    Marian
  • Bahati
    Bahati
  • Nuno
    Nuno
  • Daniel
    Electronics Consultant
    Works at Rheingold Heavy
    Daniel
  • Ayesha
    Ayesha
  • Tim
  • Christopher
    Works at 8th Light
    Christopher
  • Martin
    Martin
  • Matt
    Matt
  • Rebecca
    Gameplay Programmer at Double Fine Productions
    Works at Double Fine Productions
    Rebecca
  • Soutrik
    Software Engineer | Robotics | Embedded Systems
    Works at Qualcomm
    Soutrik

Program Structure

Typical week in the cohort

Communication and networking are core components of the ClasspertX course experience. In this course, you will be part of a global learning community. In order to accommodate all participants, we have designed much of the course experience to take place asynchronously, with a synchronous class session that occurs weekly on Saturdays

Async Sessions on Discord
~ 2 hours of self-paced material during the week
  • Reading from the book
    Includes a free copy of the book

    This course is centered around Making Embedded Systems: Design Patterns for Great Software which will be used as a supplementary material for the classes

  • Videos
  • Quizzes
  • Exercises
  • Students will be prompted to submit questions during the week, and the instructor should choose questions to answer for students during the weekend session
Sync Sessions on Zoom
~ 2 hours of lectures and exercises on the weekend
  • Q&A with the instructor
  • Additional demos / examples of key topics
  • Group practice - students break out to work on an exercise
  • Group discussion
Sync sessions on Zoom

Syllabus

Week 1 - Introduction
  • Identify what makes an embedded system
  • Describe why embedded software is different from other types of software
  • Explain the trajectory of the course
Week 2 - Creating a System Architecture
  • Create system diagrams as part of system and software design
  • Architect a system, focusing on modularity and information hiding
  • Decompose an existing system to better follow the flow of code
Week 3 - Getting your Hands on the Hardware
  • Identify the major portions of a digital circuit schematic, draw block diagrams
  • Uses datasheets to answer questions about components
  • Recognize the different applications of processor documentation
  • Negotiate problem resolution in an interdisciplinary team
  • Explain the need for testability in hardware and software
  • Identify and implement methods to achieve testability in hardware and software
Week 4 - Inputs, Outputs and Timers
  • Implement a basic embedded system (blinking light)
  • Review, decompose and adapt existing HAL code to use both the top and bottom layers
  • Understand and solve timer equations
Week 5 - Managing the Flow of Activity
  • Deconstruct and document state machines for existing systems
  • Construct and document a new state machine
  • Explain how interrupts work with state machines
  • Describe a small scheduler, define basic RTOS terms
Week 6 - Communicating with Peripherals
  • Group peripherals by type and communication method
  • Compare and contrast different peripheral communication methods: ease of use, speed, resilience to noise, and so on
  • Prepare a buffering system to work with a data-driven system
  • Compute data throughput system requirements
  • Describe how an inertial measurement unit (IMU) works at an intuitive level
  • Expected results given system orientation
Week 7 - Updating Code
  • Analyze how a system's bootloader works
  • Criticize firmware update options, identifying potential failure points
  • Examine code for common security flaws
Week 8 - Doing More With Less
  • Recognize the main components of a memory map
  • Assess resource utilization on a microprocessor
  • Identify and solve problems with resource limitations, memory errors, and firmware update
Week 9 - Math and Optimizing Algorithms
  • Describe the differences between precision and accuracy
  • Measure and compare algorithm efficiency
  • Recognize that the first implementation may only be the most obvious, not the best
Week 10 - Power Consumption
  • Measure and calculate power consumption in different circumstances
  • Articulate how coding choices affect power consumption
  • Evaluate which tools will be useful to reduce power consumption under different conditions

What you'll learn

  • Build production embedded systems
  • Professional embedded systems engineering
  • Create a system architecture from an existing system
  • Create a system architecture for a new system
  • Negotiate design trade-offs with other parts of an interdisciplinary team
  • Devise tests as part of the design process
  • Improve your interview skills

Who this course is for

Embedded systems are purpose built for their application. That usually means they are resource constrained: the devices have the minimum features needed to do the job. They still need to be mission critical, reliable, easy to use, cheap, and often low power.

Elecia White

Who this course is for

Target Audience
  • Professional electrical engineers who are getting into embedded software and want to know more about good software design
  • Professional software engineers tasked with bringing up hardware who need to know the differences between embedded software and normal software as well as how to use the tools they aren’t accustomed to
  • Software engineers, hardware engineers, IoT professionals, and programmers who want to formalize the bits and pieces of knowledge they have gained by already working in embedded systems
  • New college graduates and junior engineers who want to go beyond tactical programming into strategic design and implementation
  • Managers who are new to embedded software development and need a big picture view
Prerequisites
  • Programming in C or C++, intermediate or expert.

Your Instructors

Elecia White
Elecia White

Elecia White is the host of the Embedded podcast, author of O'Reilly's Making Embedded Systems, and principal embedded software engineer at Logical Elegance. Elecia has worked on DNA scanners, inertial measurement units for airplanes and race cars, toys for preschoolers, self-driving cars for off-roading, smart rocks for undersea rivers, and assorted other medical and consumer devices.

Career Highlights
  • Senior Embedded Systems Engineer at Logical Elegance, Inc.
  • Author of Making Embedded Systems (O'Reilly Media)
  • Shipped dozens of products in varied industries including aerospace, medical, consumer, and automotive. Some have sold tens of millions of units; one product that cost $250k
  • Podcast host, blog editor, and author at Embedded.fm
  • Published patents related to medical equipment, municipal infrastructure, and education; peer-reviewed articles concerning signal processing, inertial systems, feeding mice, oil quality sensing, and intelligent tutoring systems
  • 🏎️ Travelled 180 mph in a racecar while testing hardware
  • 🧝‍♀️ Santa's Elf at LeapFrog, focused on making toys
  • 🏜 Melted my hiking boots in the Mojave desert while testing hardware
Relevant Publications in the Field
Making Embedded Systems: Design Patterns for Great Software
View More
185 ratings
Cobus Van Eeden

This is the best introductory book on embedded systems programming I have ever seen and I have seen a lot of them!

Mike B.

Excellent book on the subject! It’s well-written, has very useful information, and if you are job hunting in this area, even has interview questions…and descriptions of how the author evaluates responses to them, at the end of each chapter. Very interesting view into the mind of a technical manager there!

TheGerb

A different approach from the usual run of hobby-directed microcontroller books for Arduino, Raspberry Pi etc. The writing is clear and engaging for software people engaging with writing code for the microcontroller domain for the first time.