Physical Computing midterm project

From Knowledge Kitchen
Jump to navigation Jump to search

Make a custom electronic device that mediates an interaction between a person and a physical object. The device should be able to sense some physical properties of the interaction and use that sensor data to give feedback to the person in real time. The feedback can be in the form of physical output or visual output on a digital display.

Approaching the problem

A big part of this assignment will be picking the proper tools for the job and integrating the parts necessary to realize your idea. There is a wide variety of sensors, and a lot of possible output devices and tools that can be used. You can either design your project so that it uses parts you already have, or acquire and learn how to use other parts.

Your instructor and tutors will help make sure you design a project of the appropriate complexity such that it can be completed within the limited timeframe available.

Your device should demonstrate clear physical interaction. The user should be involved in changing the medium all the way through.

This is a group assignment. You can either pick your own group partners, or have them assigned to you.


Your project will be graded according to:

  • completeness and quality of your initial plan
  • technical implementation
  • material prototype
  • quality of documentation
  • how well your project works in the end


You must document each phase of your project completely.

  • Concept, parts, and planning
  • User observation, implement concept revisions, technical development iterate until complete.
  • Demonstration of functioning project


Each team is expected to create written documentation outlining their project. Each member must write their own documentation.


Teams are expected to present their projects in class on the due date. The following is an outline of the minimum material to include in the presentation.

Team members

Who are you?

  • Name
  • Major and any special interests
  • What background in electronics or programming you each have
  • What were the roles in your team?
  • Did you divide labor and work mostly independently, or mostly as a collaborative?
  • Was there an appointed or a de facto team project manager?

Project Summary

What is it?

  • Title
  • Short pitch
  • Does this fill a need?
  • Does this mediate or add to an existing behavior?
  • Is this a project you intended to be more than just a class project?

The target audience

Who are you making this for?

  • What tendencies and/or limitations does this audience have that you took into consideration when designing your project?
  • Did you do any user observation on your target audience when designing this project?
  • Did you test your project with your intended audience?
    • If yes, what did you learn?

The technical system

How did you do it?

  • What hardware did you use?
  • What software did you use?
  • Did you use any Arduino or Processing libraries?
  • Any new types of circuits or electronic components you had to learn to use?
  • What aspect of developing the project took the most time?


What difficulties did you expect to have when you first started, and did they occur?

  • What did you struggle the most in this project?
  • How did you overcome these problems?
  • Or why didn't you, if you didn't?

Lessons learned

What do you know now that you didn't now before?

  • Was this project more or less work than you imagined at the beginning?
  • Did you have to learn any new software or hardware techniques to make this?
  • Did you learn anything interesting from working on this project?

The future

  • Do you think this project has a use outside of class?
  • Do you intend to continue working on this?
    • Why, or why not?

Project examples

Note that these examples have each been created

Paintbrush stylus

For example, one such device could sense how a person is moving a paintbrush, and use that movement data to create a digital image on the computer screen. For this example, you would probably want to use an accelerometer or tilt sensor as the sensor of physical movement, and use the Processing programming language as the tool to make the visual image on the screen. See Danny Rozin's Easel, as possibly the earliest example.

Toilet birdie

Another example might be to sense when a user flushes the toilet, and use that data to automatically post a tweet to the user's Twitter account. The sensor in this case could be a potentiometer inserted into the toilet flush handle, a flex sensor attached to the handle, a microphone, a simple switch that senses the flush, or one of wide variety of other sensors that could detect the flush in some way. The output device in this case would be a script written in Python, PHP, or some other language that can make posts to web pages. See Hacklab's toilet for inspiration.

Touchable toy

Yet another example might be a toy that detects touch. Touching the toy triggers it to play an audio clip out of a speaker. In this case, the sensor that detects touch could be a capacitive touch sensor, a flex sensor, a force-sensitive resistor, a simple switch, etc. The output device would be a sound recording module hooked up to a speaker.

Previous semesters

View the blogs of students in this course from previous semesters to get a sense for the type of projects done in this class. Some examples:

Spring 2016

Spring 2015

Spring 2014

Spring 2013

What links here