The outline below links to pages hosted from our course repository.  You can also clone this repository and view the exercises locally from your own computer.

  1. Unit 1: What is Physical Computing and Why bother
    1. Electronics Part 1 (Tue 8/30/16)
      1. electronics : bench-battery-grid
        Introduction to our laboratory tools for physical computing
      2. electronics : continuity-tests
        Performing electrical continuity tests with a multi-meter
      3. electronics : power-switch
        Using a physical switch to turn circuits on and off
      4. electronics : smoke-a-resistor
        Incrementally increasing the current through a resistor
      5. electronics : voltage-divider
        Making and measuring voltage dividing circuits
      6. electronics : switch-with-pullup
        Using a pull-up resistor to assure valid logic levels in circuits
      7. electronics : sensor-with-dmm
        Using a multi-meter to measure the output of an analog sensor
      8. electronics : photocell-with-bias-resistor
        Using a photocell as a light sensor
      9. electronics : led-current-limiter
        Using a resistor to set the current through an LED
    2. Electronics Part 2 (Thu 9/1/16)
      1. electronics : capacitance
        Observing a resistor-capacitor circuit on an osciloscope
      2. electronics : linear-voltage-regulator
        Using linear-voltage regulator IC’s to adjust voltage
      3. electronics : switching-voltage-regulator
        Using switching-voltage regulators boards to set voltage
      4. electronics : transistor-driver
        Using a transistor to turn actuators on/off
      5. electronics : multichannel-driver
        Using a multi-transitor IC to turn multiple actuators on/off
      6. electronics : transistor-and-sensor-for-power
        Using a sensor to control a transistor that is controlling an actuator
      7. Optional: electronics : op-amp-level-translatio
    3. Arduino Part 1 (9/6/16)
      1. Arduino : arduino-intro:
        Introcution to the Arduino Heardware platform and Integrated Development Environment (IDE)
      2. Arduino : coding-compiling-deploying:
        Using the Arduino IDE to code, compile and deploy programs on Arduinos
      3. Arduino : blink-and-fade-led
        Using code to control the Arduino’s built-in LED
      4. Arduino : analog-read-serial
        Reading analog sensor values with an Arduino and displaying them in the serial terminal
      5. Arduino : digital-read-serial
        Reading digital sensor values with an Arduino and displaying them in the serial terminal
      6. Arduino : sensor-driven-led
        Using code to control the brightness of an LED using a sensor
      7. Arduino : run-motor
        Combining a sensor, a transistor and an actuator with code
      8. Arduino : servo-sweep
        Controlling the position of a servo with code
    4. Arduino Part 2 (9/8/16)
      1. Arduino : sensor-driven-servo
        Controlling the position of a servo using an analog sensor
      2. Arduino : event-loop-programming
        Mananging time-based behavior without “delay” functions,  in the Arduino IDE
      3. Arduino : stepper-motor-knob
        Controling the position of a stepper motor with a potentiameter
      4. Arduino : I2C-sensor
        Working with I2C sensors and the Arduino IDE
      5. [Optional] Arduino : Adafruit-PWM-I2C
      6. [Optional] Arduino : input-matching
  2. Unit 2: Interactivity and Behavior
    1. 3pi Robot Part 1 (9/13/16)
      1. 3pi-robot : get-started-with-3pi
        Introduction to Pololu’s 3Pi Robot platform
      2. 3pi-robot : your-first-3pi-program
        Writing new code for the 3Pi robot using the Arduino IDE
      3. 3pi-robot: attaching-things-to-the-3pi
        Needs update to include links to a CAD file for the 3pi board and the original solid works format
      4. 3pi-robot : extending-3pi-inputs 
        Adding additional sensors to the 3Pi Robot
      5. 3pi-robot : extending-3pi-outputs
        Adding additional actuators to the 3pi Robot
    2. 3pi Robot Part 2 (9/15/16)
      1. 3pi-robot : serial-slave-3pi  (here is the compiled .hex file)
        Using an additional microcontroller with the 3Pi robot
        needs update to include images, links to serial slave documentation, and simple example for connecting an external Adruino to the 3pi using UART)
      2. 3pi-robot : braitenberg-3pi
        Creating a simple interactive mobile robot with the 3Pi
  3. Unit 3: Physical Computing in the Wild
    1. Wireless Physical Computing with ESP8266 / Node MCU
      1. mobile: Getting Started with NodeMCU
      2. mobile: Analog inputs with I2C ADC with NodeMCU
      3. mobile: Remote Actuator with NodeMCU
        (OSC from Computer to NodeMCU over network)
      4. mobile: Remote Sensor with NodeMCU
        (OSC from NodeMCU to Computer over network)
    2. Wireless Physical Computing with Low Energy Bluetooth (BLE) (9/27/16)
      1. mobile: LightBlue-bean-intro:
        Working with the LightBlueBean BLE module’s built-in sensor and LED and the Arduino IDE
      2. mobile: LightBlue-bean-remote-sensor
        Receiving remote sensor values from a BLE module wirelessly
      3. mobile: LightBlue-bean-remote-actuator 
        Triggering remote actuators from a computer connected to a BLE microcontroller
    3. Advanced Physical computing with the CHIP
      1. mobile: Intro to CHIP and Pocket Chip (firmware options)
      2. mobile: Python Control of GPIO on CHIP
      3. mobile: blink/fade LED with CHIP
      4. mobile: Audio output from CHIP