Table of Contents

Synopsis

In our “PCB class” you will engineer your own interactive electronic circuits that will be manufactured as Printed Circuit Boards (PCBs). We focus on designing and laying out the circuit in a 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 two microcontrollers (ATTINY & SAMD), (2) use KICAD to build circuit schematics; (3) learn how to wire analog/digital sensors or actuators to our microcontroller, including via SPI and I2C protocols; (4) use KICAD to prepare the PCB for manufacturing; (5) manufacture our designs in a real factory; (6) receive in our hands the PCBs we sent to the factory; (7) finally, learn how to debug our custom-made PCBs. This class is a very advanced version of CMSC 23220 ("hci engineering"). We compliment the lectures with weekly labs, weekly circuit design assignments and two larger projects, in which we design a complete PCB from scratch that is manufactured in a factory. Finally, this class is a systems class and it covers a lot of ground in bit-based protocol design, low-level hardware, bootloaders and more—with an intense timeline due to the constraints of working with a PCB manufacturing company, which does not allow us to have any flexibility with assignment due dates—as such, there is no late policy in this class.

This class is part of our Undergraduate Specialization in HCI.

Expected workload & class timeline

Prerequisites

This class is designed for those that have taken one of the following (shown in order of preference):

We do not teach Arduino programming in this class. We assume you already know this. Note that both large projects in this class involve writing code for microcontrollers using Arduino IDE / Arduino language.

Policies

Please read deliverables-rules for our policies regarding this class (includes: academic honesty, integrity, diversity, individual work, group work, citing sources, use of AI, etc.).

Slides

Slides are here (always posted after class).

Asking for help

Email us at hcipcb-helpdesk@lists.uchicago.edu (not TAs, not Prof. Lopes, only helpdesk)

Free time to use CSIL 5

Copyright

This course was developed by Prof. Pedro Lopes with the help of Romain Nith. All teaching materials in this class, including course slides, 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.

Policies

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.

Accommodations

If you require an accommodation of any kind please communicate it to the instructor and you will do the best to accommodate it, e.g., you will be provided with the suitable course materials.