ECE 3430 - Fall 2026
Introduction to Embedded Computer Systems

[PNG]

Embedded systems are special-purpose computers at the core of Cyber-Physical Systems (CPS) that monitor and control physical processes through real-time interactions with sensors and actuators. More than 90% of all manufactured microprocessors are embedded in everyday devices — from airplanes, automobiles, and medical devices to digital cameras, home appliances, smart buildings, IoT devices, and robots. This lab-based course provides the foundational knowledge and hands-on experience needed to design, evaluate, and implement embedded systems, with an emphasis on the architecture and interface issues at the boundary between hardware and software.

Topics:

  • Embedded System Architectures
    • ARM Cortex-M0+ microcontrollers
    • ARM assembly programming
  • Embedded Input and Output (I/O)
    • Memory-mapped I/O
    • I/O programming
    • I/O Synchronizaion and Interrupts
    • Hardware timers
    • Pulse-Width Modulation (PWM)
    • Serial communication interfaces (e.g., UART, SPI, I²C)
    • Analog communication (ADC, DAC)
  • Embedded Software Development
    • Embedded C programming and toolchains
    • Modular design, debugging and profiling
    • Finite State Machines (FSM)
Prerequisites: Must have completed (ECE 2300 or ECE 2630) AND ECE 2330 and CS 2130, all with C- or better.

Links

UVA Canvas Site
Piazza

UVA Academic Calendar

Time: Mon/Wed 11:00 AM - 12:50 PM
Location: Mechanical Engr Bldg 213

Instructor:
Homa Alemzadeh, ha4d@virginia.edu
Office: 259 Olsson Hall (Link Lab)

Instructor Office Hours:
TBD
Zoom or Other times by appointment

Teaching Assistants:
TBD

TA Office Hours:
TBD

Zoom or other times request by email.