Topics in Embedded Systems & The Internet of Things

M3 sensor on a finger
Luxapose image processing pipeline
Signpost platform deployed outside
TotTag ranging platform
Opo interaction tracker clipped to a tie
Powerblade power meter on a plug

CSE291 A00 - Spring 2021

Meets Tu/Thr from 15:30 to 16:50 in WARR WEST (tent on the Warren mall!).
Zoom link for remote participants (Note: Requires UCSD login).

Pat Pannuto is the instructor, and their office is CSE 3202 (right in the corner).
→ Office hours: Fridays, 12-1:30, via Zoom

Nishant Bhaskar is the TA for the course.

Additional office hours available by appointment, generally afternoons are preferred.

Quick Links: Paper Reviews | Participation | Class Project | Schedule | Final Exam / Presentations

Click here for the UCSD Embedded Lunch Seminar (Thr 12:30-1:30) – All are welcome!


Overview

Researchers, policy makers, citizen scientists, and curious individuals have an innumerable array of questions about the world around them. How does physical proximity affect disease transmission? What changes would have the greatest impact on the carbon footprint of an urban environment? What is the historical air quality like for asthmatics in the neighborhoods where I am shopping for houses? This course is about the design and implementation of platforms and systems capable of capturing the data to answer such questions.

Formally, this is the study of embedded systems and wireless sensor networks. These are computing systems that are deployed widely in the physical world, which creates unique constraints in their physical size, deployment, management, communication, energy availability, and operation. We will begin with a history of impactful deployments, then study each of the pieces in turn, both traditional sensor architectures and more exotic designs such as energy harvesting systems, synchronous wirelss communication, and how to do machine learning with less than 1 MB of memory.

Target Audience

The intended audience of this course is PhD students or masters students who are interested in pursuing a PhD in the future. This is a research-oriented class. It's designed to bring people up to speed on the history as well as the state of the art in mobile computing and to gain experience with the design, early implementation, and evaluation of a research idea.

Syllabus

This class is made of three co-equal components: pre-class reviews, in-class participation, and a quarter-long project.

Paper Reviews

Before each class you must read each paper and then write a short review. This should be more than a simple summary of the paper. Here are some questions to consider while reading and writing your reviews to help guide you:

  • What is the problem this paper addresses, and why is it important?
  • What is the hypothesis of this paper?
  • How was this hypothesis evaluated? What supported it, what refuted it?
  • What are the limits of this system (when does it fail)?
  • What is this most similar to that you are already familiar with; how does it compare, differ?
  • At what point did you decide you liked – or didn't like – the paper, why?

Submitting Reviews

We will use the HotCRP review system – the same tool used by many conferences to review papers.

Reviews are due the day before class. HotCRP will automatically cut off submissions at 12:01am on the morning of class. We will create accounts for all enrolled students during the first week of classes. If you need an account or have other issues, please e-mail me.

Participation

We will rotate through class members to lead discussion each session. Leads should be prepared to give an overview of the paper's key ideas and to guide a discussion about the strengths and weaknesses of the paper, how it relates to prior and/or subsequent work, and what the core takeaway(s) of the paper may be.

When not the lead, everyone else is expected to have read the papers and to actively participate in the class discussions.

Class Project

This class will feature a quarter long project of your own choosing. Project scope should be commensurate with group size – an individual project is acceptable, though advised against. A core goal of the project is to demonstrate mastery of the scientific method: namely to clearly articulate a hypothesis and to design and implement experiments that (in)validate the hypothesis (note: a project with a negative result may still be a highly successful project!). The goal of the project is to learn how to propose a research idea, to then collect preliminary data to probe the viability of that idea, and finally to practice communicating this process in writing.

Here is a document with some project ideas to help seed your thinking.

The project will have three milestones:

Week 3
Monday, April 12: One to two page proposal writeup that includes your hypothesis, motivation, and at least one experiment you intend to run.
Week 6
Monday, May 3: Three to four page draft that includes a literature review ("Related Work"), proposed experiments, and their expected outcomes.
Week 10
Tuesday, June 1: Final five to six page paper that includes outcome of small-scale experiments / prototype / etc. This should resemble an early-to-mature draft of an academic workshop paper.

Schedule

Date Topic Lead Pre-Class Assignment
Week 1: Introduction, Motivation, Potential, and Pitfalls
Mar 30 Introduction Pannuto
Apr 1 Ubiquitous Computing Pannuto No paper reviews this week, just read and think about these:
Week 2: Great Deployments Past
Apr 5 Project Group Formation Deadline Work with Nishant to register your project group.
Apr 6 Early Lessons
Pre-reading questions:
  • What kinds of things are “obvious today,” but were new then?
  • Why do we (as researchers) bother doing deployments? (They're expensive, hard, require many person-hours...)
Pannuto Sign up for to lead discussion by submitting a pull request. Conflicts resolved by timestamp (first come, first serve).
Read and review:
For those wanting more...
Apr 8 Scale
Pre-reading questions:
  • Where do you place the line between what work “belongs to” research and industry?
  • Why do we (as researchers) bother doing big deployments? (They're even more expensive, hard, require many person-hours...)
Pannuto Read and review:
For those wanting more...
Week 3: Everything is an Energy Problem
Apr 12 Project Milestone 1 Deadline One page proposal writeup that includes your hypothesis, motivation, and at least one experiment you intend to run.
Apr 13 Early Insights in Low Power Systems
Pre-reading questions:
  • What's duty cycling? Why didn't we always do this?
  • Why is there a gap between the power performance hardware is capable of and what it actually achieves?
  • How do we balance the lifetime of one device versus a system of devices? (Does it always matter if one node dies early?)
Gabriel Marcano - Virtual Battery

Pannuto - TinyDB
Read and review:
For those wanting more...
Apr 15 Energy Harvesting
Pre-reading questions:
  • What's the relation between power source and reliability? How do other system components affect this?
  • Is this actually new? What energy harvesting, embedded systems are common, established, and well-older than Pat? What's different now?
  • What's the definition of intermittent computing?
Jennifer - GameBoy (Sections 6-7 are optional)

Dhananjay - Capacitance
Read and review:
For those wanting more...
Apr 16 Project Milestone 1 Feedback Deadline This is a course staff commitment – we will have feedback on each project proposal back to you by end of day.
Week 4: Communication (Part I)
Apr 20 Great Ideas in Traditional Communication
Pre-reading questions:
  • What is a MAC protocol, and why has there been so much academic research on them?
  • What is different (or not!) about WSN nodes versus phones, laptops, etc? What impact does that have on their communication mechanisms?
Bili Dong - Long Live IP

Pannuto - RI-MAC
Read and review:
For those wanting more...
Apr 22 Project Workshop Day Pannuto Bring printed copies of revised project proposal drafts to class.
Week 5: Communication (Part 2)
Apr 27 Synchronous communication protocols
Pre-reading questions:
  • What is synchronous communication?
  • What is different (or not!) about WSN nodes versus phones, laptops, etc? What impact does that have on their communication mechanisms?
Alex - TunnelScatter

Nishant - IT Backscatter
Read and review:
For those wanting more...
Apr 29 Spectrum Presenter 1: Raghav Subbaraman
Presenter 2: Yeswanth Guddeti (Unlicensed LPWANs)
Presenters: Choose two for folks to read
Week 6: Platforms
May 3 Project Milestone 2 Deadline Three to four page draft that includes a literature review ("Related Work"), proposed experiments, and their expected outcomes.
May 4 Hardware Platform Design
Pre-reading questions:
  • ...
Presenter 1: Shanti Modi
Presenter 2: ...
Presenters: Choose two for folks to read
May 6 Software Platform Design (aka Embedded OSes)
Pre-reading questions:
  • What are the requirements of multi-processing?
  • Why have prior embedded systems been single-task, what is changing?
Presenter 1: Olivia Weng
Presenter 2: John Hwang
Presenters: Choose two for folks to read
Week 7: Actual, computer-y things
May 10 Project Milestone 2 Feedback Deadline This is a course staff commitment – we will have feedback on each project proposal back to you by end of day.
May 11 ML at the Very Edge
Pre-reading questions:
  • How to decide between edge, local compute?
  • What is, and is not, different about edge compute capabilities?
  • How to manage whole ML systems (training, execution, updates)?
Presenter 1: Colin Barry
Presenter 2: Ronald Yu
Presenters: Choose two for folks to read
May 13 Writing workshop. Details TBA.
Week 8: CPS-IoT Week
May 18 Workshop Day Custom Signup; TBD Pick a workshop to attend; come to class prepared to give highlights of interesting ideas and conversations from the workshop.
May 20 Conference Day(s) Custom Signup; TBD Pick one session to attend; come to class prepared to give highlights of interesting ideas and conversations from the session.
Week 9: Security
May 25 Individual Device Security
Pre-reading questions:
  • How would you express the trust/threat model of physically deployed sensing systems?
  • How do we balance pragmatism and security; in theory, in practice?
  • How can we enforce or prove the state of the physical world?
Presenter 1: Huanlei Wu
Presenter 2: ...
Presenters: Choose two for folks to read
May 27 Security for systems of devices
Pre-reading questions:
  • What properties do blockchains actually provide?
  • What risks are similar, different between IoT devices and more traditional computers?
Presenter 1: Xiaohan Fu (WAVE)
Presenter 2: ...
Presenters: Choose two for folks to read
Week 10: Special Topics
Jun 1 Presentation on topic of class interest / or guest lecture Pannuto

Due by Midnight

Submit a final draft of your project report to HotCRP.

Reviews will be assigned at this time.

Jun 3 Presentation on topic of class interest / or guest lecture Pannuto

Due by Midnight

Each person will be assigned to review two other project papers, similar to how we have reviewed papers from class. The goal is to provide constructive feedback to your peers for their final reports.

Final Exam / Presentations

Instead of a final exam, we will have a "mini-conference" where each project will give a conference-style presentation on their research project.

We will use the final exam slot for presentations. The class has been assigned a final exam timeslot of 3-6pm, Monday, June 7th.

Some guidelines for your presentation:

  • Length:
    • For 1-person teams, target around 8:00 minutes in length (no shorter than 6:00, no longer than 12:00).
    • For 2-person teams, target around 10:00 minutes in length (no shorter than 8:00, no longer than 15:00).
  • Ideally should include a demo component that highlights the system you have built in operation. Take some time with this (around 2:00)! Show off your hard work and all the cool things it does!
  • Try to tell a story with your presentation. Here is one rough template (you do not have to follow this precisely, it is simply an example of how to organize such a presentation):
    • Begin with an introduction that lays out the problem and why it is important [about 1:00]
    • Then, succinctly explain what you actually built/did [about 0:30]
      • What is the hypothesis you are exploring in this work?
    • [Demo opportunity here]
    • Next, look at some of the related work in this problem space, how does your solution differ from what came before? What ideas do you build on? [about 1:00]
    • After that, look at how you designed your system. What tradeoffs did you have to consider in your design, what choices did you make in how to build your system and why did your make those choices? [about 2:00]
    • Now, answer the question does it work. Talk about how you evaluated your system (and why that is a reasonable evaluation); compare this with prior systems if appropriate [about 2:30]
    • [Demo opportunity here]
    • Finally, what is the impact and result of this work? Tie back to your hypothesis. What questions might someone interested in this want to explore further? [about 1:00]
    • [Demo opportunity here]

For those projects who are willing, we'll post final papers and presentations here on the course website.


Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License. Copyright Pat Pannuto, 2021.