Skip to content

IOT Course Outline

Audience

College students with a background in Python.

Materials

Each student will be provided with:

  1. A Raspberry Pi Pico "W"
  2. A USB cable
  3. A 1/2 size breadboard
  4. A 128x64 OLED display
  5. A Time-of-flight sensor
  6. Various wires

  7. Each student must provide a laptop with a USB port.

  8. Students must run the Thonny Python IDE or similar.
  9. Each student must have an account on GitHub.
  10. Knowledge of Markdown formats is helpful but not required

We will also provide examples of GPT-4 prompts that can be used to create, extend and debug your IoT code. A generative AI account is encouraged but not required.

Content

Week 1: Introduction to IoT and Raspberry Pi Pico "W"

  • Overview of IoT concepts and applications
  • Case study: home health monitoring
  • Introduction to Raspberry Pi Pico "W": Specifications, capabilities
  • Setting up the Raspberry Pi Pico "W" environment
  • Basic programming with MicroPython
  • Hands-on Project: WiFi Clock

Week 2: MicroPython and the Pico Deep Dive

  • Detailed exploration of MicroPython
  • Differences between MicroPython and Python
  • MicroPython vs. C
  • Pico vs. the ESP-32
  • Using multiple cores
  • Basic control structures in MicroPython
  • Interfacing with the Raspberry Pi Pico "W" hardware
  • Tips on using generative AI to write, extend and debug
  • Hands-On Project: WiFi Weather Station

Week 3: Sensors and Data Acquisition

  • Overview of sensors used in IoT (temperature, motion, light, etc.)
  • Interfacing sensors with Raspberry Pi Pico "W"
  • The I2C Bus and sensors
  • The SPI Bus and displays
  • Reading and interpreting Time-of-Flight sensor data from an I2C
  • Hands-on project: Reporting distance

Week 4: Networking and IoT Protocols

  • Introduction to IoT communication protocols
  • Connecting Raspberry Pi Pico "W" to a network via WiFI
  • Sending and receiving data over the network
  • Basics of network security in IoT
  • The MQTT protocol for managing events
  • The Matter Smart Home Standard
  • Hands-on project: Web server

Week 5: Edge Computing Concepts

  • Understanding edge computing in the context of IoT
  • Benefits and challenges of edge computing
  • Implementing basic edge computing tasks with Raspberry Pi Pico "W"
  • Case studies of edge computing in IoT
  • TinyML
  • Hands-on project: Distance data logger

Week 6: Cloud Computing and IoT

  • Introduction to cloud-computing in IoT
  • Cloud platforms for IoT (AWS IoT, Azure IoT, etc.)
  • Sending data from Raspberry Pi Pico "W" to the cloud
  • Analyzing sensor data in the cloud

Week 7: Data Analysis at the Edge vs. Cloud

  • Tradeoffs between edge and cloud data processing
  • Efficiency, latency, and privacy considerations
  • Architecture tradeoff analysis
  • Real-world scenarios comparing edge and cloud analytics
  • Group discussion and case study analysis

Week 8: Building an IoT Project (Part 1)

  • Planning and designing a comprehensive IoT project
  • Selecting appropriate sensors and communication protocols
  • Purchasing parts: Sparkfun, Adafruit, and EBay
  • Developing the edge component of the project

Week 9: Building an IoT Project (Part 2)

  • Developing the cloud component of the project
  • Integrating edge and cloud components
  • Data analysis and interpretation
  • Troubleshooting and optimizing the IoT system

Week 10: Project Presentations and Course Wrap-up

  • Presentation of IoT projects by students
  • Feedback sessions and group discussions
  • Review of key concepts from the course
  • Future trends and opportunities in IoT