Units
2.0 QUARTER UNITS

Course Description


All embedded systems require firmware to enable their features. In addition to C programming, firmware engineers must understand system and CPU architecture, as well as the IO and memory interface. They must also master techniques to manage limited memory and tasks, and code programs that are suitable for hardware bring-up and application development. In this course you will learn practical, in-depth knowledge and coding exercises for firmware development.

Additional Information We'll review embedded system architecture and hardware configurations specifically on the Espressif ESP32 and its CPU core architectures. You will be introduced to C codes, how to enable hardware features, and work with real-time operating systems, task management and interrupts as well as various inter-chip communication interfaces and access to the outside world. We will introduce the wireless functions of these devices.

Most firmware development in industry is done on Linux systems. You should have solid C programming skills and be ready to complete all class projects with GNU tools. You'll gain experience working on several on-hardware projects. This course prepares you for additional embedded software courses covering a wide range of product interests.


Notes: Students are required to purchase a hardware starter kit, a small board, breadboard, resistors, LED, and wires (estimated $45-$60, not included in the tuition) to do class projects on their laptops. These are available on Amazon https://a.co/d/bmhGjaY or https://a.co/d/7ZHsEDG and should be purchased before the first class. For additional sensors or actuators depending on the student's interest, please contact the instructor.

AI* - This course integrates AI throughout the learning experience. Students use AI-powered guidance to focus on high-level concepts, complete more advanced assignments without getting stuck on syntax, and learn practical techniques for building, fine-tuning, and deploying small neural networks on embedded devices. The course also teaches effective AI prompting, agent usage, and introduces AI-accelerated hardware fundamentals. 

Currently no classes scheduled. Would you like to be notified when a class is available?

This course applies to these programs:

Demo