An H-Bridge allows you to control a motor so it can turn in either direction. It uses a combination of transistors to direct the follow of electricity through the motor depending on the open/closed states of the transistors.

In theory, the structure of the schematic looks like this, and can be made with basic switches:

When S1 and S4 are open (and S2 and S3 are closed), the motor turns in one direction. When S2 and S3 are open (and S1 and S1 are closed), the motor turns in the other direction.

Instead of manual switches, however, we need to use Transistors (MOSFETs in this case) so we can control the motor direction with our Arduinos.

In this diagram, there are four MOSFETs that have replaced the switches, but there are also Diodes inserted into the circuit. These purpose of these diodes is a little complicated, but the main purpose is to prevent short circuits when switching motor direction.

The PhysComp lab has ICs that have internal H-Bridges, the L293NE. ITP has great tutorial on how to use them.


Modular Circuit’s H-Bridges — the Basics

Project 01 — Drawbots


Make a wheeled robot that completes a challenge on a whiteboard table.


  • Solve a Maze
    • BONUS: draw the maze first
  • Draw an algorithmic pattern [A + J]
    • BONUS: make a multi-color marker changer
  • Keep the table clean of marks and debris
    • BONUS: do it with CV and an external camera
  • Trace objects placed on the table [E + O]
    • BONUS: color them in when the object is removed
  • Battle Sumo Bots [Y + C]
    • BONUS: make them controllable by a phone/remote control
  • Draw a Clock
    • BONUS: make it a digital clock


You will design and build your own robots by utilizing distributed parts, materials in the classroom, and the IDeATe facilities. You will form teams of two to accomplish one of the above challenges. Some are more difficult than others, so choose carefully. For an extra challenge, try completing the BONUS for your challenge. You only have a couple of weeks, and a lot to learn, so the focus of your time should be on ideation, not perfection.   This project starts to build your skills in rapid prototyping, basic electronics, kinematics, and basic microcontroller programming.


  • How to program an Arduino
  • Basic Electronics
  • Motors



  • A robot (or robots) that complete the Challenge
  • Documentation
    • A well-documented Git repo of all your code on GitHub
    • Photos of your process work (take these throughout)
    • Photos of your robots both stationary and in action
    • A 30-second video of your robot completing the challenge

Welcome to Physical Computing Studio!

Welcome to the first day of PhysComp!

First things first, fill out this form for me, so I can gain a better understanding of everyone’s backgrounds, skills and desires.

Next, we’ll go over the Syllabus.

Then, we’ll go around and introduce ourselves (it’s a very small class, after all).

Finally, we’ll do a mini-project about getting our Arduinos up and running:

  • Find a sensor
  • Connect the sensor
  • Graph the output (if you have experience with Processing, do it in Max; if you have experience in Max, do it in Processing; if you have experience in both, do it in something else)