CMSC 23230/CMSC 33230: Engineering Interactive Electronics onto Printed Circuit Boards

News & Announcements

Well done!
Congratulations everyone for making their first PCBs! Class is done.

Published by Pedro Lopes on Jun 1 2021

New KICAD release!
New KICAD is out, check out the official page (maybe wait to finish final project to upgrade!)
More info here.
Published by Pedro Lopes on May 6 2021

Extended deadline
We extended PCB routing deadline by 1 day, thus we are able to provide you help during class hours on Thursday May 6th! Please make sure to use the extra day to slowly go through the JLC web process to generate the CPL and BOM files.
Published by Pedro Lopes on May 4 2021

Office hours start April 14
Our special PCB support crew is available on wednesdays from 4PM to 5PM (come with concrete questions and your files); office hours use the same zoom link as the class does.
Published by Pedro Lopes on Apr 5 2021

Changed class to 4PM!
To respond to many of your difficulties, we changed the class to 4PM (same zoom link).
Published by Pedro Lopes on Apr 5 2021

Mini project 1 is out
Check your email and class wiki to see instructions.
Published by Pedro Lopes on Apr 1 2021

Class is full!
Our class is full. See waiting list if you are trying to register.
More info here.
Published by Pedro Lopes on Mar 21 2021

Grade breakdown
This class is graded 40% assignments and 50% final project and 10% participation.
Published by Pedro Lopes on Mar 20 2021

Class hours
Lectures happen on zoom Tuesdays and Thursdays from 3:30pm–4:50pm. You will get invite to the zoom in your inbox before the first class.
Published by Pedro Lopes on Mar 21 2021

Start of Winter class (in Jan 2021)
Welcome to the Engineering Interactive Electronics onto Printed Circuit Boards class!
Published by Pedro Lopes on Mar 22 2021


In this class we will engineer electronics onto Printed Circuit Boards (PCBs). We will focus on designing and laying out the circuit and PCB for our own custom-made I/O devices, such as wearable or haptic devices. In order for you to be successful in engineering a functional PCB we will: (1) review digital circuits and three microntrollers (ATMEGA, NRF, SAMD), (2) use KICAD to build circuit schematics, (3) learn how to wire analog/digital sensors or actuators to our microcontroller, including SPI and I2C protocols, (4) use KICAD to build PCB schematics, (5) actually manufacture our designs, (6) receive in our hands our PCBs from factory, (7) finally, learn how to debug our custom-made PCBs. (This class is part of our Undergraduate Specialization in HCI).

Expected workload

In this class you will engineer your own PCB from the ground up, by: designing it, engineering it, send it off to manufacturing, debugging it and improving it.


Please see UChicago's official registrar page.


This course was developed by Pedro Lopes. Parts of this course are derived (with permission) from a course taught by Patrick Baudisch (in which Pedro co-taught a few segments) at Hasso Plattner Institute. All teaching materials in this class, including course slides, homeworks, assignments, practice exams and quizzes, are copyrighted. Reproduction, redistribution and other rights solely belong to the instructor. In particular, it is not permissible to upload any or part of these materials to public or private websites without the instructor's explicit consent. Violating this copyright policy will be considered an academic integrity violation.


The University of Chicago has formal policies related to academic honesty and plagiarism. We abide by these standards in this course. Depending on the severity of the offense, you risk being dismissed altogether from the course. All cases will be referred to the Dean of Students office, which may impose further penalties, including suspension and expulsion. In addition, we expect that everyone handles their fellow students and staff members with respect, following the norms of proper behavior by members of the University of Chicago community.