Link Search Menu Expand Document

CS397/CS497 - Wireless Protocols for the Internet of Things


The Internet of Things promises a world of computers woven into our physical world. A common need for these devices is low-power, wireless communication. The goal of this course is to introduce students to a variety of wireless networks that target low-power, machine-to-machine communication as is common in the Internet of Things. While we introduce the physical layer and have a goal of getting data to the internet at large, the focus of this course is on the wireless protocols themselves. How are packets structured, and why? How are they designed to enable low-power communication? How do they deal with contention and reliability? What makes them more or less suitable for different applications? We will explore local-area protocols such as Bluetooth Low Energy, Thread (and other 802.15.4 protocols), low-power, wide-area networks (LPWANs) such as LoRaWAN and Sigfox, and other related topics such as backscatter and localization.

The class will include lectures on these topics as well as practical hands-on lab sessions interacting with networks. Starting very early in the class, students will form groups for their final project and create a proposal, allowing them at least 5 weeks for project work. Projects will culminate in a research-paper-style writeup and a class presentation.


  • Instructor permission
  • Desired experience in embedded systems (such as CE346), computer networks (such as CS340), or both.



Course Learning Goals

  1. Understand tradeoffs in wireless protocol design and how those tradeoffs influence suitability for application goals.
  2. Make or support communication technology design decisions with respect to application requirements, device capabilities, and infrastructure requirements.
  3. Explain the basic operating principles and performance of:
    • Bluetooth Low Energy
    • 802.15.4 and Thread
    • WiFi
    • LoRa
    • Basic Cellular Data
  4. Explain what “star”, “mesh”, “cell”, and various “area networks” mean in wireless networking, and how topology influences system design and performance.
  5. Estimate performance—in throughput, latency, energy use, and reliability—given technical information on a wireless technology.
  6. Demonstrate basic self-sufficiency in the compilation, loading, and testing of previously-unseen software on previously-unseen hardware platforms.


Semi-guided use/demonstration of wireless protocol capabilities. These can be individual or group projects. They usually take the form of wireless network measurement/introspection or embedded applications that use/demonstrate a wireless protocol. Recent labs have included:

  • Wireshark inspection of WiFi packets
  • Bluetooth Low Energy advertisement monitoring
  • Bluetooth Low Energy applications
  • Thread network deployment

Future iterations of the course may include additional 802.15.4 apps, WiFi apps, LoRa apps or measurements, and Cellular network apps or measurements.

Final Project

Open-ended group projects that investigate or implement some facet of wireless protocols. These could include simulations or implementations on real hardware. Recent projects have included:

  • Reverse engineering of existing device protocols
  • Implementing and measuring a wireless application deployment
  • Measuring capabilities of existing network deployments
  • Visualizing network activity