top of page

EECS 473: Advanced Embedded Systems

Class overview:

This class is a follow-on to EECS 373. EECS 373 gave you a very solid background in the fundementals of working with embedded systems: memory-mapped I/O, application binary interface issues, interrupts, peripherals and related topics. It also gave you a chance to build a prototype embedded system.

​

In this class we are going to shift focus from foundational to applications. We will explore rapid prototyping, design of APIs for hardware devices, PCB design (from basics to power converters and power integrity issues), Real-time operating systems, and device drivers for high-level systems using Linux.

​

The class does have labs, homework assignments and exams, but the focus of the class is on product design and clear communication. Three weeks into the course you will have formed a project group of 4-5 and started on the design process. You will be tasked with writing a formal proposal as well as memos that report on your status. The majority of your time will be spent on the technical aspects of your course project as design solutions and then prototype and test them. Your code and design techniques are expected to be of a quality you could hand them off to a customer.

Labs:

Lab 1: Introduction to Arduino

Lab 2: Wireless robots, writing LCD drivers and more!

Lab 3: Using a Real-time Operating System

Lab 4: An Introduction to Linux Device Drivers

Lab 5: PCB design: Eagle tutorial

​

​

bottom of page