ECE 16

Rapid Hardware and Software Design

Instructor: Ramsin Khoshabeh

Quarters: Spring 2022, Fall 2022, Winter 2024, and Winter 2025

This class introduces students to rapid prototyping using microcontrollers. The class has a series of labs where students build a smart Bluetooth wearable device using an ESP32 microcontroller. Students learn how to use the Arduino IDE to write firmware for the ESP32 using C/C++ and interface with sensors such as an accelerometer and a photoplethysmography (PPG) sensor. The students will use Python to communicate to the ESP32 using Bluetooth. To implement algorithms for counting steps and measuring heart rate, students will learn the basics of signal processing and machine learning, and implement these techniques in Python. The course ends in a final project where students come up with their own idea for a product, design the hardware and software, and present their project to the class.