Wireless embedded systems bridge our physical world with powerful digital control systems and cloud data analytics. Applications range from medical devices such as Bluetooth-enabled blood glucose meters, to payment systems such as Near-Field Communication-based credit cards. In this class, students will learn about how an embedded system works from the ground up. The lectures will focus on the key enabling components of embedded systems, including: Clocks, GPIO, Interrupts, Busses, Amplifiers, Regulators, Power supplies, ADC/DAC, DMA, Storage, and Wireless communication. The goal of the class is to familiarize the students with these components so that they feel comfortable working on a team that is building a device that incorporates a wireless embedded system.
CSE30 (CSE 120 recommended)
We will be supplementing the lectures with material from the following freely available sources:
We will manage discussions, grading, and announcements for this course with Piazza.
All programming assignments must be completed in your assigned groups. You and/or your partner must write all solutions and code that you submit, excepting any code that was provided to you as part of the assignment. You may discuss the assignments with others, but you may NOT make your code available to others or copy answers or code from another student--this includes GitHub repostiories (or similar) for assignments from this or similar courses in previous terms at any university. You will be issued private GitHub repositories for use in this course; it is your responsibility to make sure your code stays private. Exams will be individual effort and closed book.
Day | Topic | Preparation for class |
---|---|---|
Week 1: Introduction to emdedded systems | ||
Tue Jan 7 | Introduction | Lecture 1 Slides (ppt) |
Th Jan 9 | MCUs |
Lecture 2 Slides (ppt) ARM Cortex M for Beginners (pdf) |
Week 2: IO and Time | ||
Tue Jan 14 | Finishing GPIO (demo) and Time | Lecture 3 Slides (ppt) (continued) |
Thu Jan 16 | Finishing Time and Interrupts | Lecture 4 Slides (ppt) |
Week 3: Serial communication | ||
Tue Jan 21 | Debugging and Serial busses | Lecture 5 Slides (ppt) |
Thu Jan 23 | UART and SPI | Lecture 6 Slides (ppt) |
Week 4: Serial communication between the MCU and peripherals | ||
Tue Jan 28 | SPI and I2C | Lecture 7 Slides (ppt) |
Thu Jan 30 | DMA | Lecture 8 Slides (ppt) |
Week 5: Midterm Exam | ||
Tue Feb 4 | Midterm Review Session | |
Thu Feb 6 | Midterm exam | |
Week 6: Power management | ||
Tue Feb 11 | Class canceled (Aaron Sick) | |
Thu Feb 13 | Power management | Lecture 9 Slides (ppt) |
Week 7: Wireless communication | ||
Tue Feb 17 | Basics of wireless communication | Lecture 10 Slides (ppt) |
Thu Feb 19 | Wireless protocols for IoT (wireless continued) | Lecture 10 Slides (ppt) |
Week 8: Power management and Sensing Analog Signals | ||
Tue Feb 25 | Project 3 Datasheet Review | |
Thu Feb 27 | Sensing analog signals | Lecture 11 Slides (ppt) |