SYSEN 5412: Creating Solutions with Embedded Systems

This introductory course is designed for on-campus and distance learning students to learn the fundamentals of embedded systems, emphasizing microcontroller-based design, programming, and debugging. Students will explore the role of embedded systems in modern technology, learning how to interface with sensors, actuators, and communication protocols such as UART, SPI, and I2C. The course follows a hands-on approach, culminating in a project where students build a digital theremin using Python. Topics include GPIO control, interrupts, real-time operating systems, pulse-width modulation, filtering, and direct memory access. The course also integrates SYSEN principles, on how to define user stories, interface requirements, and performance metrics. Through lessons and practical applications, students will develop a foundation in embedded system development, preparing to collaborate effectively with embedded systems experts in industries.

Topics Covered

  • Introduction to Microcontrollers and Embedded Systems
  • Programming Languages and Computer Architecture
  • Digital Input and Output Interfaces
  • Analog to Digital Conversion
  • Signal Filtering Techniques
  • Digital to Analog Conversion with PWM
  • Digital Communication Protocols (UART, SPI, I2C)
  • Hardware Interrupts and Timer Usage
  • Multicore and Asynchronous Programming
  • Real-Time Operating Systems (RTOS) and Direct Memory Access (DMA)