ELEC 327 - Digital Systems Laboratory (2023)


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 – FE&P 122B (Lab) or BRC 284 (Some Lectures)

Time – Mondays & Wednesdays 2-3:15 PM

Prerequisites – ELEC220, ELEC326, COMP140

Syllabus & Lab Office Hourshere

Lectures: link to Dropbox folder for 2023

link to Dropbox folder for 2022

link to Dropbox folder for 2021

link to Dropbox folder for 2020

link to Dropbox folder for 2019

link to dropbox folder for 2018

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

Previous versions of the class

  • 2013
  • 2014
  • 2017 - CAREFUL YOU DON’T GET STUCK!
  • 2018 - CAREFUL YOU DON’T GET STUCK!
  • 2019 - CAREFUL YOU DON’T GET STUCK!
LabsDescription
Lab 1 Intro C Programming
Lab 2 Morse Code with Timers
Lab 3 Timers, PWM, and Logic_and Soldering
Lab 4 PCB Design, full stop
Lab 5 Processing Button Presses
Lab 6 Piezo buzzer and Simon PCB
Lab 7 Serial Communications (SPI + I2C)
Midterm Project Midterm Project
Final Project Final Project