ELEC 327 - Digital Systems Laboratory (2025)


One of the most critical aspects of modern computer systems involves interfacing with the world. This course will focus on how power-efficient embedded systems are built. Students should learn the fundamentals of embedded system programming and feel competent to design, build, and manufacture their own embedded devices. Furthermore, students should understand how embedded systems interface with external peripheral devices. Finally, students should understand how application-specific blocks enable modern commercial devices.


Instructor – Caleb Kemere (caleb.kemere@rice.edu)

Location – O’Connor Bldg for Eng and Sci Room 130 (Lectures and Lab) FE&P 122B (Design Lab)

Dropbox Link For LecturesLectures Folder

Time – Mondays & Wednesdays 2-3:15 PM

Prerequisites – ELEC220, ELEC326, COMP140

Syllabus & Lab Office Hourshere

Github repository - https://github.com/ckemere/ELEC327 (Note that this website is also hosted on github. If you’re interested in how it works, you can find it just at https://github.com/elec327.)

Useful links

LabsDescription
Lab 1 Intro C Programming
Lab 2 First Launchpad Project
Lab 3 Using Interrupts for Precise Timing
Lab 4 Uses of Timer Modules Beyond Interrupts
Lab 5 PCB Design With KiCAD
Lab 6 Serial Communication Protocols
Lab 7 Debouncing and Processing Digital Input
Lab 8 Analog to Digital Conversion
Lab 9 Digital to Analog Conversion
Midterm Project Midterm Project
Final Project Final Project

C Resources

Old Course Content

Previous versions of the class website
Old Lectures