About the course

PC/CP 320: Physical Computing - Digital Interaction with the Analog World
Department of Physics and Computer Science
Faculty of Science
Waterloo Campus
Winter 2020
Instructor Information: Mr. Terry Sturtevant
E-mail: [tsturtevant@wlu.ca]
Office: N2092A
Ext: 2049
Office Hours: By appointment
Course Information: Calendar Description: Design and construction of computational systems that interact with the physical world for applications such as home or experiment automation. Basics of electrical circuits, reading from analog and digital sensors, controlling analog and digital actuators, single board computers such as Arduino or Raspberry Pi, analog components including diodes, transistors, and operational amplifiers.

Prerequisites: CP164 and PC/CP220
Lecture Monday, Wednesday, and Friday 8:30 a.m.- 9:20 a.m. in BA210

  The lecture periods will include active learning activities, and so participation will be much more effective than attempts to catch up after the fact. In addition, some lectures will contain material vital to the lab immediately following, so absence will make the lab more difficult.

Labs (in N2082) L1: Tuesday and Thursday 11:30 a.m.-12:50 p.m.
L2: Tuesday and Thursday 1:00 a.m.-2:20 p.m.
The lab is in two parts; all students must attend both parts each week.
Lab attendance is mandatory.
The labs build upon each other. If you miss a lab, you will have to make it up before you do the next lab.
Course Overview and Approach: This course has a vital lab component. That means that much of your learning will happen through your hands-on experiences in the lab. The lectures and other on-line documents have been chosen to give you the background you will need to prepare you for the labs.

This course requires CP164 and PC/CP220, although some things will be easier if you have also taken PC221. If you haven't, then you may need to rely more on some of the online resources. Within a few weeks you should have caught up on the important points.

At the end of this course you will get a detailed, anonymous evaluation to fill out, where you can indicate your opinion on many aspects of the course. This is one of the most important resources to help me improve the course each time I teach it.
Course Goals and Learning Outcomes: By the end of this course, you should be able to:
  • Correctly use electrical terminology when discussing electrical circuits and their components
  • Read data sheets for electronic components to determine how to use them
  • Use digital meters to measure DC voltages, currents, resistances and continuity
  • Use oscilloscopes to measure DC voltages and time intervals
  • Set up DC supplies and function generators to produce voltages and waveforms as needed
  • Understand the characteristics of series and parallel circuits
  • Identify the behavior of diodes, (including LEDs), and capacitors in DC circuits
  • Understand the uses of common circuit configurations such as voltage dividers and Wheatstone bridges, including the use of variable resistors
  • View digital logic gates as DC circuits with voltage, current, and timing limits
  • Recognize the use of different logic gate I/O types; specifically totem-pole, open collector (open drain), and tri-state
  • Design circuits to allow connection of 3.3V and 5V devices
  • Identify common operational amplifier circuits and explain their operation
  • Design circuitry to convert output from a sensor to a voltage which falls within a specified range
  • Design circuitry to control an actuator from an input signal which falls within a specified range
  • Evaluate sensors and other devices to determine whether they can directly connect to GPIO pins on the Raspberry Pi
  • Connect and configure analog to digital converters to allow analog voltage inputs to be used with the Raspberry Pi
  • Connect and configure digital to analog converters to allow analog voltage outputs to be generated by the Raspberry Pi
  • Become familiar with the Linux command line interface
  • Write Python programs to control the GPIO pins on the Raspberry Pi, including features like PWM and UART, SPI, and I2C interfaces
  • Adapt code for real-time operation with multiple independent sensors and actuators
  • Break down a problem into modules which can be tackled individually before being combined into a complete solution
  • Create block diagrams for circuits and sub-circuits to explain complex circuit designs
  • Draw schematic diagrams of circuits
  • Sketch waveforms of electrical signals and identify important information
  • Maintain a professional lab notebook which records and summarizes all important lab results and insights
  • Find, evaluate and use online resources to incorporate unfamiliar devices
Course Tools and Learning Materials: All of the information for this course and all of the available electronic resources are on the course website. I've tried to make it as complete as possible, so that you only have to look in one place for anything relevant to the course. If you find any other resources that are particularly useful, let me know.

You'll need to get a lab notebook for this course. This is very common in science and engineering disciplines, since it develops the habit of keeping all of your observations, thoughts, data, and other information in one place. You'll use notebooks for several electronics labs, and you can re-use notebooks if they have empty space in them since real-life information isn't split into courses. If you want to use the notebook for notes in the lecture, you're welcome to do so.

Text: required reading will be in the Reference Material section of the course web page

Web Page: http://denethor.wlu.ca/pc320/index_W.shtml

MyLearningSpace (for quizzes) : https://mylearningspace.wlu.ca/
Student Evaluation:
Active Learning Classroom Activities (groups) 5%
Lab demonstrations (groups of two) 25%
Postlabs 15%
MyLS quizzes (individual) 10%
Lecture quizzes (individual and collaborative) 10%
Integration Project (groups of two) 20%
Exploration (or Enclosure) Project (groups of two) 15%
Total 100%

Learning Activities, Assignments, Tests, Quizzes and Examinations: There are several different types of assessment that will happen in this course; some of them are individual and some of them will be collective; i.e. you will work with a partner or in a group and you will all get the same mark. No single method of assessment is best for contributing to your learning, so the variety reflects that.

Active Learning Classroom Activities (groups)
  • group activities in most lectures
  • designed to apply information from lecture immediately
  • all weighted equally
  • These are not merely intended to enforce attendance, but to improve memory of important concepts.
Lab demonstrations (groups of two)
  • work demonstrated at every lab
  • every lab will indicate what is to be demonstrated
  • all labs weighted equally
  • see Lab Demonstrations for requirements

  • Each lab will have points at which you have to show me that you have accomplished the required task(s). Usually they also require you to explain something you have learned in your own words to verify that you've understood the key points.
There are different types of post-lab requirements for different labs.

  Lab notebook summaries (individual)
  • sometimes including specific items for certain labs
  • all labs weighted equally
  • see Lab Notebook for requirements
  • The notebook is the vehicle for you to record all of what you learn for future reference. You'll be able to use it for quizzes, so it should be your most vital resource. The questions and summaries that you hand in ensure that what you have recorded for your own reference is useful and correct.
  Rewritten code (individual)
  • showing modifications to original sample programs
  • observing all rules of good coding practice
  • all labs weighted equally
  • The more you become accustomed to using good coding practices the more you will benefit in being able to understand and reuse your own code.
There are two different types of quizzes; in lecture and on MyLearningSpace.

  MyLS quizzes (individual)
  • five to ten "5 minute" quizzes
  • the quizzes will have a window of more than a day with more than one attempt allowed
  • the quiz is open lab notebook
  • the quiz format will be multiple choice or similar; typically one to four questions
  • The format allows students to review mistakes and re-try.
  Lecture quizzes (individual and collaborative)
  • five to ten "10 minute" quizzes
  • the quiz is written during the lecture period
  • the quiz is open lab notebook
  • calculators, computers and PDAs are not allowed.
  • the quiz format will be short answer; typically one to four questions
  • These will be given in the lecture, and clarify whether individual students have mastered critical concepts

    Having a collaborative portion will help to correct errors right away.
Integration Project (groups of two)
Exploration Project (groups of two)
Weekly Schedule:
(week of)
  Jan. 6 Lab A: Resistors and Ohmmeters
Lab B: Raspberry Pi GPIO Introduction
  Jan. 13 Lab A: Raspberry Pi Python GPIO and Serial Console Introduction
Lab B: Voltage, current, and Ohm's Law
  Jan. 20 Lab A: Raspberry Pi Python PWM
Lab B: Function Generators and Oscilloscopes
  Jan. 27 Lab A: Zener Diodes and Photodiodes
Lab B: Optical Isolators
  Feb. 3 Lab A: Raspberry Pi SPI Digital to Analog converter
Lab B: Analog Output Transducers (DC motor)
  Feb. 10 Lab A: Raspberry Pi SPI Analog to Digital converter
Lab B: Introduction to Operational Amplifiers
  Feb. 17 Reading Week
  Feb. 24 Lab A: Raspberry Pi Servo Motors
Lab B: Operational Amplifier Circuits
  March 2 Lab A: Stepper Motors
Lab B: Controlling Power
  March 9 Project: TBA
  March 16 Project: TBA
  March 23 Integration Project Due
  March 30 Exploration (or Enclosure) Project Due
Last lab period is April 3.
Communication techniques:
  • maintain a research lab notebook
  • design and execute formal demonstrations of circuits and software
  • documentation standards for circuit designs
Design project:
  • design, simulation, and prototype implementation of a simple data acquisition or control system circuit
Accessible Learning Students: Students who are colour blind should identify themselves to the lab instructor at the start of the first lab period. Students with disabilities who require classroom and/or laboratory accommodations should identify themselves to the course instructor as soon as possible; preferably before their first lab period. We assume all students requiring academic accommodations will have all accommodations approved by the Accessible Learning Office.


To view pdf documents, you can download Adobe Acrobat Reader .
get Acrobat Reader
If you need to update a browser, you might try Firefox which is Get Firefox!
Since this page uses cascading style sheets for its layout, it will look best with a browser which supports the specifications as fully as possible.

If you are looking for an office package, with a word processor, spreadsheet, etc., you might try LibreOffice which is Get LibreOffice!

Go to the main page for the Department of Physics and Computer Science.

Valid XHTML 1.1

Valid CSS!

(Level AA)

Wilfrid Laurier University