EEC172 - Embedded Systems

4 units - Winter and Spring Quarters

Lecture: 2 hours

Laboratory: 6 hours

Prerequisites: EEC170 or ECS154A

Grading: Letter

Catalog Description: Introduction to embedded-system hardware and software. Topics include: embedded processor and memory architecture; input/output hardware and software, including interrupts and direct memory access; interfacing with sensors and actuators; wired and wireless embedded networking.

Relationship to Outcomes:
Students who have successfully completed this course should have achieved:

Course Outcomes ABET outcomes
An ability to apply knowledge of mathematics, science, and engineering A
An ability to design and conduct experiments, as well as to analyze and interpret data B
An ability to identify, formulate, and solve engineering problems E
An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice K

Expanded Course Description:

  1. Overview of embedded computing systems, including applications and platforms
  2. Embedded processor/microcontroller architecture
  3. Embedded -system memory
  4. I/O hardware and software, including busses and device drivers
  5. Interrupt architecture, interrupt service routines and direct memory access
  6. Interfacing with sensors and actuators
  7. Wired, wireless and internet embedded networking
  8. Embedded and real-time operating systems
  9. Embedded system reliability, safety and security
  10. Case studies of real-world embedded systems


  1. Microcontroller development- board manual/datasheet (varies with processor)
  2. Microcontroller peripheral driver user's guide (varies with processor)
  3. E. Lee and S. Seshia, Introduction to Embedded Systems,
  4. Computers as Components: M. Wolfe, Principles of Embedded Computing System Design, Morgan Kaufmann. (recommended)

Computer Use: See Engineering Design Statement below.

Example Laboratory Projects: (Projects vary each quarter)

  1. Digital pattern generator
  2. Infrared communication link
  3. DC motor control using pulse-width modulation
  4. Embedded web server
  5. Accelerometer-based Air Mouse
  6. Wireless sensor network
  7. Simple signal processing using Analog-to-Digital and Digital-to-Analog Converters
  8. Real-time operating system scheduling

Engineering Design Statement:
Students work in groups of two to design, construct and test an assortment of assigned lab projects using an integrated development environment, a microcontroller development board and various hardware components assembled on a prototyping board. A project may involve interfacing with the physical world using sensors and actuators, or may involve interfacing with another processor using wired or wireless embedded networking. The student group demonstrates a working project and submits a lab report documenting how their design meets the project specification. Software is written in C/C++. Projects are updated every year.

Professional Component:
Engineering Depth, Laboratory
Engineering Science: 2 units
Engineering Design: 2 units