Credits: 3


Prereqs: ENEE350; ENEE244; ENEE150 or CMSC216.

The first decade of the 21st century was marked by the emergence of smart devices that are used in everyday life. Smart phones, smart cars, smart TV,smart thermostats, smart vacuum cleaners, to name just a few. These developments are powered in large part by the embedded systems. This course will provide students with the essential knowledge base that will enable them to tackle complex problems encountered in embedded systems design. In addition to the overview of associated hardware components and software methodologies and tools used in the development of modern embedded systems, and theory behind them, the course will include a carefully selected collection of hands-on Lab exercises that wouldhelp students get a sense of how the presented theoretical concepts connect with the real-world embedded systems applications.

Semesters Offered

Summer 2018, Summer 2019, Spring 2021, Spring 2022, Spring 2023, Spring 2024

Learning Objectives

  • Familiarize with the concepts and terminology of embedded systems design flow
  • Understand the embedded system architecture and RTOS fundamentals.
  • Apply the concepts of RTOS for a given application.
  • Develop embedded software to program a microcontroller 
  • Design hardware modules to be used for an embedded system
  • Integrate both hardware and software designs using co-design techniques

Topics Covered

  • Introduction to embedded systems, HW & SW components of embedded systems
  • Signal conditioning, OPAMPs, ADC/DAC
  • Embedded processor architectures
  • FPGA design for embedded Systems
  • Introduction to hardware-software co-design 
  • RTOS (Multitasking, Scheduling, Queue management, Interrupt management, Timers, Mailboxes, Semaphore)
  • Introduction to Embedded Security

Additional Course Information

Prerequisite: ENEE350; and completion of all lower division technical courses in the EE/CE curriculum.
Restriction: Must be in one of the following programs (Engineering: Computer; Engineering: Electrical).

Embedded systems are part of most of the modern technological systems such as Industrial machines, consumer electronics, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines and toys, as well as mobile devices. Embedded systems are comprised of hardware, software and firmware. Design methodologies and platforms for real time modern embedded digital systems have been evolving over time. In order to meet the system specifications, many models, tools, and operating systems exist to automate the design space exploration phase. 

In this course, students will be introduced to the fundamental concepts of Real Time Operating System (RTOS), microcontroller based embedded system design, and embedded digital hardware design. Using hands-on experience developed through practical designs, exercises, and projects; we will discuss in detail how to analyze, implement, and synthesize these systems.