ECE 5/697LP: Design Principles for Low Power Embedded Systems

Introduction:

This course provides an overview of the core design principles used in the holistic design of low power embedded computing systems. Embedded systems may always benefit from lower power consumption because of the challenge of heat dissipation, energy is the ultimate bottleneck for resource constrained devices that rely on finite energy storage in the form of a chemical battery or voltage stored on a capacitor. Optimizing power consumption is fundamentally a circuit design problem, but optimizing energy consumption requires careful consideration of the end-to-end system that has many interactions that span the hardware / software boundary.

In this class, you will learn a host of state-of-the-art hardware and software design techniques used to optimize the overall power consumption / energy efficiency at the system level, which ultimately defines the battery life of an energy constrained system, or the impact of growing numbers of IoT devices on our power bill. Modern microcontrollers, radios, sensors, and power circuits have many dimensions of control and optimization and this course focuses on how we can dynamically tune these knobs for particular application requirements.

You will learn about these techniques in several ways:

  • Research Literature Survey: You will get a chance to read and discuss recent research literature and see what directions modern embedded systems are going to operate more efficiently and help address global challenges including healthcare and climate change. Paper presentations will be student driven and are intended to be highly interactive. Students will be responsible for writing short reviews of each paper to be presented to encourage a lively discussion. What are the benefits and drawbacks of these new ideas?

  • Introduction to new topics in embedded systems design: Part of the course will be dedicated to aspects of system design that you may not have had significant exposure to in other core classes. We will look at energy as the central optimization criteria for embedded systems and how this intersects with disciplines including network protocol design, signal processing, software scheduling, hardware design, algorithm design, and machine learning.

  • Practical Tutorials: How do you know that your embedded system is low power? How can you simulate a system to ensure it meets performance objectives in the wild? We will have several tutorial assignments that will show you how to write code or optimize a hardware system for low power.

  • Research Project: Each student (or group of students) will have the opportunity to design and evaluate an embedded system (or aspect of an embedded system) that can enable new applications or enhance existing applications because of the nature of its power efficiency. We will meet regularly during the semester and you will have a chance to present your system / findings at the end of the course.

Course Syllabus

A plan of topics to be covered in this course are listed below:

  • Week 1: Applications

  • Week 2: Low power hardware system design

  • Week 3: Low Power Wireless Radios / Protocols

  • Week 4: Backscatter Networking

  • Week 5: Energy Harvesting Systems

  • Week 6: Intermittent / Battery Free Computing

  • Week 7: Energy Neutral System Design

  • Week 8: Energy Aware Software and OS Design

  • Week 9: Novel Sensing Systems

  • Week 10: Device-Free Sensing

  • Week 11: Edge Computing

  • Week 12: Energy-Efficient AI

Grading

  • Class Participation (10%)

  • Small tutorial projects (20%)

  • Reviews / Presentations (20%)

  • Research Project (50%)

Reading List (Last Year's...to be updated)

Applications (01.30) :

Low Power Hardware Design (02.06)

Low Power Wireless Radios / Protocols (02.13)

Backscatter / Battery Free Systems (02.27)

(* Denotes paper to read, review, and discuss)

Energy Harvesting Systems (03.05)

Intermittent Computing (03.10)

Device Free Sensing (03.23)

Low Power Embedded Machine Learning (03.31)

Low Power Machine Learning and Edge Computing (04.07)

01.21 Introduction to Class Part I

01.23 Introduction to Class part II

01.28 How to Review / Read a Paper, Satisfying Application Requirements at Low Power

01.30 Paper Discussion: Applications - FarmBeats + DualBlink