The projects will provide an in depth experimental experience on hardware/software technologies behind the rapid advances in the emerging embedded platforms.

The files you will need for both individual project and the final project can be found in the project folder.

Individual Project

The goal of the individual project is to develop an energy-efficient EDF scheduler, which handles multiple workloads controlling sensors running on Raspberry PI 3 (RPi3). During the course of the project, you will develop a program which characterizes workloads using performance counters (part 1), and an energy-efficient user-level EDF scheduler program which manages the sensors (part 2).

Each student needs to get their own Raspberry PI 3 (Model B) and sensors to complete the project. You may purchase a kit from CanaKit or Vilros, along with sensors from 37-in-1 Sensor Module Kit. We have tested all the code we provide with this HW setup. We cannot support any other systems at this point. You also need a micro SD card (more than 8 GB). If you already have one, you could use them. Otherwise, you may also consider the following package: CanaKit Raspberry Pi 3 Complete Starter Kit - 32 GB Edition.

The grading will be done based on the project progress reports and demos. Students will gain experience cross-compiling and loading an operating system for an embedded platform, extending its scheduler with capability to handle diverse tasks, and also in integrating a set of HW sensors with the platform.

Final Project

The final project will be done in teams of two. The project has to have both HW and SW components and neeeds to show integration of the two. It will be graded on a combination of the proposal, progress reports, and the final demo/presentation. Riskier and more challenging/novel projects are more likely to get a good score.

The final project presentations for Winter 2016 can be found here (opens in a new tab)