P COMP Final Project Concept

A Film Camera for the Modern Age

My work so far has been focused on creating a single leaf shutter mechanism. I intend to expand on this project idea and add multiple new elements to my design. I will be making a camera with flash, film advancement, a c-mount (which is a simple old mount for small lenses) and its own two blade shutter mechanism. I will achieve this by using a micro controller, a simple flash circuit, and gears that I 3D print for film advancement.

The main intention behind this project is based on the fact that there are no innovations being made in the field of film photography. I have a background in photography/cinematography and know this issue personally. Many of my colleagues still use cameras designed in the 90’s or earlier. Today’s camera market is too focused on digital innovations. We are seeing cameras with more resolution than is necessary and lens design that has absolutely no character. Imperfections are what today’s designs actually need. I will bridge the gap between old world character/charm with the modern world’s micro controllers for camera control and shutter design.

Timeline: 11/12 -Wooden handgrip with holes for shutter done.
11/12 – dual solenoid circuit with shutter dial working (including the arduino code for that setup)
11/17 – modular camera body finished (either in wood or 3D printed)
drill hole on the bottom of the camera body for film advancement

Bill of materials:
2 5V solenoids
16mm film cartridge with film
battery pack
16mm pushbutton
2 x TIP120 transistor
2 x Diodes
2 x 1k resistors

Playtesting will be with the shutter button & handgrip. The last thing to come into place will be the film advancement tool. This will be using a 3D printed piece and a small gear.

P COMP Midterm

This is the start of an ongoing project to design my own small film camera. The first step was to create a shutter mechanism. The first prototype consists of a simple single leaf shutter design acting as a window over a pinhole. I also added a shutter dial with a potentiometer that controls the amount of time the shutter stays open, otherwise it stays in the closed state. As I attempt to allow for even quicker shutter speeds, I will design a multiple leaf shutter. I also added a rugged momentary push-button switch as the shutter button.

To actuate the shutter, a push/pull solenoid is moving a piece of black cinefoil over the pinhole. This is currently not “light-tight” as these design elements will be implemented down the line.

The potentiometer is getting readings between .5-5volts, that I have mapped to a reasonable shutter range (2ms-250ms). This is equivalent to normal shutter values of (1/500-1/4). This is being read by the “intValue” and delaying how long the shutter stays open before closing itself. Another thing I will be improving upon is getting the shutter to know it’s been pressed to delay the actuation of a new one; this will stop the arduino from getting backed up and allow for film advancement in the future. An issue I ran into while designing this prototype is also a latency between shutter button and the solenoid, this is accounted for in the lack of current running from the 5V pin from the arduino. Hooked up to a power supply with more current, these shutter presses will not have that same latency. I will however need to complete my two blade design in order to get quicker shutter speed values.

I will also be implementing PWM for my solenoid so that once the pull operation starts, we can turn usage down to around 25% to lower the power consumption of the whole circuit. I look forward to improving upon this design and adding more elements for my final project.

Phys Comp Week 6

This week we demonstrated different types of serial communication from P5.JS to the Arduino IDE. I decided to have a potentiometer determine a couple of the color values in my sketch from last week for ICM. This was my take on the 10print challenge where the computer draws lines at different angles horizontally. Below is a video of it working, along with snapshots of the code in Arduino and P5.

P Comp Week 4

This week we began experimenting with assigning tones to a speaker. We were also introduced to a pitches.h library designed by Brett Hagman. I used the examples on the Arduino site to help create this simple melody. I also added an if statement so instead of just initializing the song when the program starts, you can trigger it with the touch sensitive resistor in the loop function. Below I figured out a simple melody for the song Old Town Road by Lil Nas X.

After figuring out the melody I wanted, I input the notes into the Arduino IDE. The code is below.


#include "pitches.h"

// notes in the melody:
int melody[] = {

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
  8, 8, 4, 4, 4, 8, 8, 8, 4,8,8,8,8,2,4,4,8,4,4
void setup() {


 void loop() {

   // get a sensor reading:
   int sensorReading = analogRead(A0);
   int frequency= map(sensorReading, 0, 1023, 100,880);
       // iterate over the notes of the melody:
  for (int thisNote = 0; thisNote < 19; thisNote++) {

    // to calculate the note duration, take one second divided by the note type.
    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
    int noteDuration = 1000 / noteDurations[thisNote];
    tone(9, melody[thisNote], noteDuration);

    // to distinguish the notes, set a minimum time between them.
    // the note's duration + 30% seems to work well:
    int pauseBetweenNotes = noteDuration * 1.30;
    // stop the tone playing:
    else {
      Serial.println("not pressed");


Below is the final application in use.

Next week I hope to expand on the use of triggering different sounds and LED’s. Eventually I want to create musical applications and hardware, that can interface with the computer in a more intuitive way.

P-Comp Week 3

This week for my observation assignment I decided to look at the Whole Foods automated register lanes. At the 365 whole Foods by Atlantic Avenue, there is always a backup around peak hours. There are three dedicated lanes that flash a new register once it becomes open. If I were designing these lanes I would try my best to incorporate the fact that everyone is extremely frustrated while checking out of the grocery store. They have kids at home, work to finish and places to be. This means everyone just wants to get out of there.

I tend to think of the status bar as an inspiration to make this system better. Why is it so satisfying to watch our data upload with a bar? Imagine uploading and downloading without it! These lanes seem to choose which of the three at random (with a preference to the express lane). How do they code the split? And what data caused the way they divvy up the lanes? This could cause more frustration for the other lanes but does provide a speedier experience for those not getting as much. All of these questions run through the minds of the people in the lanes. They also have screens displaying cooking videos, which do help I think to keep people distracted but also has the feeling of trying to sell you more product.

One way I think I would make this experience better is by using the status bar idea. Create a whole foods app (use the existing prime now app they make you download for discounts, where they are probably just selling more of your data/preferences). Instead, use the app to show the average wait time of both lanes in real time. This could be made using cameras and machine learning. That way, people know the wait time and can plan their expectations accordingly. Also, I would use this data to inform an algorithm that would disperse the express lane-regular lane ratio accordingly.

P Comp Blog 2

Getting started with breadboards was really exciting. I want to make hardware for musical applications eventually, so I decided to make a piano light switch.

The first thing I did was set up the connections on my breadboard. I used five lights, each using a 220 ohm resistor. I arranged everything in parallel so that I could close circuits separately.

To create the piano I wrapped a piece of aluminum around the side of a piece of cardboard. I connected that strip of aluminum to the breadboard’s ground. Then I separately connected each LED’s ground to the piece of cardboard, with an opening. This allowed me to use another piece of aluminum wrapped around my finger to close each circuit, when pressed.

P-Comp Blog 1

“…good interactivity design integrates form with function.”

This quote from Chapter 1 of The Art of Interactivity Design perfectly sums up what I hope to bring to all of my designs in this class. As a cinematographer I find a great a parallel to this idea (ignore the fact film itself is not interactive for a second). Often I would see my peers, going after the prettiest shots they could. They would call out, “doing it for the reel” which consisted of potentially abandoning the director’s vision, so they could steal a few shots for their portfolio. And while I could do plenty of reel-hunting in my time, I always try and stick to the director’s vision. I stick to what is going to keep the viewer not only interested, but following the story arc/focusing on pivotal details/focusing on specific characters. I don’t care if there is a pretty shot with the sky outside, if it has nothing to do with the film. I spend my time trying to design an experience for the viewer. And while it might not be the prettiest, it keeps the audience engaged in the stories vision and point of view. And the greatest films in my opinion are those that focus on good form and function. We must understand the story we tell, the interaction we design, and everything around it. And if they service each other we can create real art that is meaningful and reaches its goal.

And while film might not reach the author’s definition of an interactive process, Virtual Reality and other mediums are opening the doors for us to tell stories in more immersive ways. These principles will be very important to telling those stories. Maybe, focusing less on the “awe” factor in VR and instead on the new ways users can now interact with character/plot/theme. Also the design should focus on using more than just hands and pointers.

Bret Victor poses the idea in The Future of Interaction Design, that we should not be limited to interacting with only our hands. And while it is number one way we interact with technology, we should be designing for new types of interaction. For example, recording spatial awareness and eye gazing.

Questions I have going forward:

How can virtual reality stories move us in ways that two dimensional screens cannot?