2 minute read

“Real-Time Embedded Systems” course (ECE-GY 6483) at NYU Tandon by Matthew Campisi

nyu-header

“Real-Time Embedded Systems” course (ECE-GY 6483) at NYU Tandon, taught by Matthew Campisi, explores how to design and program systems that respond within strict timing constraints. From low-level hardware control to real-time operating systems, the course offers a hands-on understanding of the challenges and solutions involved in building responsive, reliable embedded systems.

Course Overview

The course begins by introducing the key differences between traditional computing systems and real-time embedded systems. Students learn about system architecture, memory, and common embedded applications. The class quickly moves into hands-on work with ARM Cortex-M microcontrollers, using Embedded C and the VS Code development environment.

Students cover essential topics such as ARM assembly, GPIO, timers, counters, PWM, analog I/O, and communication protocols like USART, SPI, and TWI. These lessons build the foundation for real-time control and data exchange in embedded environments.

In the second half, the course dives into real-time operating systems (RTOS). Topics include scheduling, priorities, interrupt handling, and managing shared resources using semaphores, mutexes, and critical sections. Students also study system reliability and modeling techniques to design robust and predictable systems.

The course concludes with a look at current trends, including embedded networking and the Internet of Things (IoT). In addition to two exams, students complete a semester-long project where they apply what they’ve learned to build a functional embedded system.

This course is ideal for students interested in embedded systems, robotics, IoT, or any area where hardware and software must work together in real time.

Course Work and Grading

Note: This is subject to change

  • Homeworks (4 assignments) - 30%
  • 2 Exams (open notes) - 30%
  • Final Project - 40%

Review

Real-Time Embedded Systems is a fun and engaging course, and one of the more popular electives at NYU Tandon. Professor Campisi is excellent at explaining complex concepts in a clear and approachable way, which makes the learning experience enjoyable and effective.

The assignments strike a good balance—they’re challenging enough to reinforce key concepts but approachable if you follow the lectures and review the slides. The two take-home exams are theoretical, but they offer a real-world experience: reading datasheets, interfacing with various sensors, and writing assembly or C code to get everything working together.

A highlight of the course is the end-semester project, known as the “Embedded Challenge.” While everyone works on the same problem statement, teams are encouraged to approach the solution creatively. This setup allows students to showcase both their technical skills and innovative thinking.

Overall, it’s a well-structured course that’s both rigorous and fun—perfect for anyone interested in embedded systems.