Advanced Embedded Systems

ECE 4501/6501
Fall 2017


More than 90% of manufactured microprocessors go inside airplanes, automobiles, medical devices, digital cameras, appliances, and buildings. Embedded systems are special-purpose computers that are tightly coupled with electronic and physical components and must often operate within real-time performance, battery, and size constraints. What are the building blocks of an embedded system? How can we design an embedded system and make sure our system satisfies specific functionality, reliability, and usability requirements?

This course will help you answer these questions by providing the foundational knowledge and hands-on experience in design and validation of embedded systems, with a focus on embedded C programming and real-time operating systems for ARM® Cortex™-M Microcontrollers.


In the second half of the class, we will explore related topics in safety and security, cyber-physical systems (CPS), internet of things (IoT), and robotics, through paper presentation/discussions and group projects.

Full Syllabus
Collab Site
GitHub Classroom

Time: Mon/Wed 5:00 - 6:15 PM
Location: Rice Hall 032
Office Hours: Tue 2:00 - 3:00 PM in Thornton Hall E314

Pre-requisites: This course is intended for the first year graduate (GRAD) and the third/fourth year undergraduate (UG) students in Electrical and Computer Engineering and Computer Science. A basic knowledge of computer architecture and embedded systems is required. A working knowledge of computer assembly and C/C++ programming is required for the projects.
Undergraduate Requirements: ECE 3430 and ECE 4435 or CS 3330.


Class Participation/Activity15%
HomeworkUG: 20% - GRAD: 10%
Mini Projects20%
Midterm Exam20%
Final Project25%
Paper PresentationUG: 0% - GRAD: 10%