EE 554: Embedded Control Systems

Instructor: Kevin Wedeward, office: Workman 221, phone: 835-5708, e-mail:, web-page:

Class Time/Place: W 08:00am-10:30am in Workman 117

Office Hours: MWF 10:00AM-12:00PM

Textbook: Handbook of Networked and Embedded Control Systems, by Dimitrios Hristu-Varsakelis and William S. Levine (Editors), Birkhauser Boston, ISBN-13: 9780817632397


Prerequisites: EE 308, EE 443 or equivalent, or consent of instructor; senior or graduate student status.

Description: EE 554 (Embedded Control Systems) is intended for advanced engineering students interested in the application of control theory. While there are far too many topics to be covered, the course will provide a broad overview of control techniques, hardware and software. A specific platform will be chosen for class projects.


  1. Overview
  2. Control Techniques
  3. Hardware (platforms, architectures and considerations)
  4. Software (operating systems, programming and considerations)



  1. HW1 due W 09/03: Describe an embedded system you've encountered to include its function, platform, I/O, operating system, programming, etc.
  2. HW2 due W 09/17: Handout
  3. HW3 due W 09/24: Handout, animation m-files drawpendulum.m and drawmagneticball.m, and example m-files pendulumCTPID.m and pendulumDTPID.m
  4. HW4 due W 10/01: Handout
  5. HW5 due W 10/08: Handout
  6. HW6 due W 10/22: Handout
  7. HW7 due W 10/29: Write a short summary of each of the following as related to embedded control on our SBC and data acquisition board:, Slackware, RTLinux, Xenomai, Windows CE.
  8. Final Project: Install operating system on SBC with real-time capabilities. Characterize system (DC motor or levitating ball) to be controlled and design PID and state-space controllers for it. Implement controllers via SBC and data acquisition board. Provide report and presentation on all aspects.

Reading Assignments:

Links and Resources:

  1. Digital Speed Controller using RTAI/Linux by Sreejith N
  2. EE Times: Source of news related to electrical engineering.
  3. Information on embedded systems for the development community.
  4. Essential C: Stanford CS document that summarizes features of the C programming language.
  5. Free Electrons: Company that provides support (development, training and consulting) to those using or developing free software for embedded systems. Their training material and articles are great resources.
  6. kontron EPIC/CE 04001-0005-40-1 SBC
  7. Make - a tutorial: Nice introduction to the make command and Makefiles.
  8. Slackware: distribution of the Linux operating system with Slackware Linux Essentials book.
  9. RTAI: the RealTime Application Interface for Linux. Installation instructions can be found as part of the RTAILAB-Target-HowTo and RTAI-Lab tutorial.
  10. Real-Time Linux Introduction and Tutorial provided by NIST
  11. RTLinux: Extends Linux to a real-time operating system
  12. Sensoray Model 526: Multifunction I/O Data Acquisition Board
  13. Stepper motor driver for your Linux Computer by Sreejith N
  14. Xenomai: Real-Time Framework for Linux