Real–Time Embedded Systems

ESE 519, Fall 2011, University of Pennsylvania.


Welcome! to ESE 519

  • The first lecture will be held on Thursday, September 07 in Moore 212

Meeting Times

Lecture: Tuesday & Thursday, 1:30 - 3:00 pm in Moore 212
Detkin Lab is reserved for ESE 519 on Tuesday & Thursday at 3:30 pm

Course Objectives

The primary objectives of this course are to:

  • Obtain a broad understanding of the technologies and applications for the emerging and exciting domain of real-time systems and embedded wireless networks,

  • Get in-depth hands-on experience in designing and developing a real operational embedded network system, and

  • Design and develop foundational systems software, sensor-actuator-controller algorithms and network protocol.

About the Course

The use of distributed wireless embedded networks has surged in popularity in recent years with applications ranging from environmental monitoring, to people- and object-tracking in both cooperative and hostile environments. This course is targeted at understanding and obtaining hands-on experience with the state of the art in such wireless sensor networks which are often composed using relatively inexpensive sensor nodes that have low power consumption, low processing power and bandwidth. The course will span a variety of topics ranging from radio communications, network stack, systems infrastructure including QoS support and energy management, programming paradigms, distributed algorithms and example applications. Some guest lectures may be given. Each discussion-oriented lecture will be preceded by the reading of 1-2 papers, resulting in a rich collection of papers by the end of the semester. Early in the semester, hands-on exercises will be used to teach the programming of FireFly sensor nodes by using the 'nano-RK’ power-aware sensor real-time operating system (RTOS) and using 802.15.4 radio communications. Then, project groups of no more than 3 students will define, design, implement and test an embedded network project. Final in-class project presentations will be supplemented by a written report.


Programming in C/C, ESE 350 or equivalent, one course on computer networks and senior or graduate standing. Prior hands-on experience with network programming, operating systems and assembly language are essential. Exceptions can be made only with the explicit permission of the instructor.


There will be several homework assignments, labs, and a term project. A significant component of the evaluation will be based on the design and implementation of the term project.

Computer Failures

Computer failures (e.g. server failures, network failures, power outages, etc.) are a fact of life. Plan your project to be able to cope with this degree of uncertainty. Short failures will be considered to be part of the normal course of events. In the case of catastrophic failures (which last more than 12 hours), notify your friendly teaching assistant.