Christina Elizabeth Hall

Collective Narrative Final – Peddle Project (working title)


For my final project in Collective Narrative, I wanted to go out of my comfort zone and try a concept that I wasn’t sure how it would play out.  I wanted to combine technical aspects with storytelling, the classroom space and also attempt to include all the students in this storytelling experience. I wanted to have this projects to be a collective story.


I wanted to create a man’s life, that had passed away, to appear in our minds as the students in the class participated in telling the stories about the man from pushing a peddle at their will.

I wanted to create a funeral scene.  In the middle of the circular-position desks of the class room I built a coffin and had it draped with a black cloth.

I recorded stories of friends that have had a male pass away in their lives.  It could either be someone close to them or a friend’s story.  I recorded 14 stories, one for each student in the class. I asked that each story not include a location, name, or reason for why he passed away so that there were not conflicting stories in the project.


I then wired up 14 foot peddles to an Arduino and played the audio pieces using serial communication and p5.js on a local server.

Here is the Arduino code:

const int switchOnePin = 19; // the number of the pushbutton pin
const int switchTwoPin = 2;
const int switchThreePin = 3;
const int switchFourPin = 4;
const int switchFivePin = 5;
const int switchSixPin = 6;
const int switchSevenPin = 7;
const int switchEightPin = 8;
const int switchNinePin = 9;
const int switchTenPin = 10;
const int switchElevenPin = 11;
const int switchTwelvePin = 12;
const int switchThirteenPin = 13;
const int switchFourteenPin = 14;

bool switchOnePressed = false;
bool switchTwoPressed = false;
bool switchThreePressed = false;
bool switchFourPressed = false;
bool switchFivePressed = false;
bool switchSixPressed = false;
bool switchSevenPressed = false;
bool switchEightPressed = false;
bool switchNinePressed = false;
bool switchTenPressed = false;
bool switchElevenPressed = false;
bool switchTwelvePressed = false;
bool switchThirteenPressed = false;
bool switchFourteenPressed = false;
// variables will change:
int switchState = 0; // variable for reading the pushbutton status

void setup() {
 // setup serial
 // initialize the pushbutton pin as an input:
 pinMode(switchOnePin, INPUT);
 pinMode(switchTwoPin, INPUT);
 pinMode(switchThreePin, INPUT);
 pinMode(switchFourPin, INPUT);
 pinMode(switchFivePin, INPUT);
 pinMode(switchSixPin, INPUT);
 pinMode(switchSevenPin, INPUT);
 pinMode(switchEightPin, INPUT);
 pinMode(switchNinePin, INPUT);
 pinMode(switchTenPin, INPUT);
 pinMode(switchElevenPin, INPUT);
 pinMode(switchTwelvePin, INPUT);
 pinMode(switchThirteenPin, INPUT);
 pinMode(switchFourteenPin, INPUT);
void loop() {
 if (!switchOnePressed) {
 switchState = digitalRead(switchOnePin);
 if (switchState == LOW) {
 switchOnePressed = true;

if (!switchTwoPressed) {
 switchState = digitalRead(switchTwoPin);
 if (switchState == LOW) {
 switchTwoPressed = true;
if (!switchThreePressed) {
 switchState = digitalRead(switchThreePin);
 if (switchState == LOW) {
 switchThreePressed = true;

if (!switchFourPressed) {
 switchState = digitalRead(switchFourPin);
 if (switchState == LOW) {
 switchFourPressed = true;

if (!switchFivePressed) {
 switchState = digitalRead(switchFivePin);
 if (switchState == LOW) {
 switchFivePressed = true;
if (!switchSixPressed) {
 switchState = digitalRead(switchSixPin);
 if (switchState == LOW) {
 switchSixPressed = true;

if (!switchSevenPressed) {
 switchState = digitalRead(switchSevenPin);
 if (switchState == LOW) {
 switchSevenPressed = true;
if (!switchEightPressed) {
 switchState = digitalRead(switchEightPin);
 if (switchState == LOW) {
 switchEightPressed = true;

if (!switchNinePressed) {
 switchState = digitalRead(switchNinePin);
 if (switchState == LOW) {
 switchNinePressed = true;

if (!switchTenPressed) {
 switchState = digitalRead(switchTenPin);
 if (switchState == LOW) {
 switchTenPressed = true;
if (!switchElevenPressed) {
 switchState = digitalRead(switchElevenPin);
 if (switchState == LOW) {
 switchElevenPressed = true;

if (!switchTwelvePressed) {
 switchState = digitalRead(switchTwelvePin);
 if (switchState == LOW) {
 switchTwelvePressed = true;

if (!switchThirteenPressed) {
 switchState = digitalRead(switchThirteenPin);
 if (switchState == LOW) {
 switchThirteenPressed = true;
if (!switchFourteenPressed) {
 switchState = digitalRead(switchFourteenPin);
 if (switchState == LOW) {
 switchFourteenPressed = true;

Here is the p5.js code:

var serial; // variable to hold an instance of the serialport library
var fromSerial = 0; //variable to hold the data
var buttonValue;
var currentVoice;
var lindseyD;
var orianaNTwo;

function preload() {
 lindseyD = loadSound('assets/LD.mp3');
 orianaNTwo = loadSound('assets/ON2.mp3');

function setup() {
 serial = new p5.SerialPort(); // make a new instance of serialport librar 
 serial.on('list', printList); // callback function for serialport list event
 serial.on('data', serialEvent); // callback for new data coming in 
 serial.list(); // list the serial ports"/dev/cu.usbmodem1421"); // open a port

function draw() {


function switchAudio(newVoice) {
 if (currentVoice && currentVoice.stop) {
 currentVoice = newVoice;;
 playing = true;

// get the list of ports:
function printList(portList) {
 for (var i = 0; i < portList.length; i++) {
 // Display the list the console:
 console.log(i + " " + portList[i]);


function serialEvent() {
 var inString = serial.readLine();
 if (inString.length > 0) {
 inString = inString.trim();
 buttonValue = Number(inString); 
 if(buttonValue === 2){

 if(buttonValue === 3) {

The only rules I gave to the class when I started the experiment was that you can push you peddle whenever you like, but you only have one chance to do so.

There are two aspects to this projects that I was curious how it would play out:

  1. the social dynamics of how groups participate in a collective storytelling experience. Are people shy with participating? Are they quick to interact? Especially since they were only able to contribute their story once.
  2. We we be able to create the life of the individual that has died at the funeral by having different stories told by different people and be able to know him better even if he is a fictional person? Can we create this “man” in our minds from the stories that we hear from his loved ones in the room?


Final Project Research


Nouf, Mithru and myself were tasked to  approach the issue of access to information in developing countries.  We decided to narrow this down to approach a more specific topic of interest that focuses on access of information on agriculture and farming.

We all did some research separately to determine issues that farmers have as a result of limited access to information and those effects on the communities around them.  After our initial research we came together too see if there are any overlaps in our findings. Below is the top-down issues of some of the problems that rural farmers in developing countries struggle with.

There are a lot of issues presented here and we had a difficult time of narrowing these down to a particular issue that we could tackle.  After a couple of hours, we decided that it might be best to discuss with our teachers where we are in our thought process and see if they might have some pointers on the topics displayed above.

The above research for prompted by the following assingment


Start (or continue) researching your project idea and meet with your groups to discuss, document every step of the process on your blog. Things to focus on for next week are:

What is the Big Problem (i.e. Affects 1 b. People)

  • We need smarter agricultural practices to feed an ever-growing population. The number of farmers is declining, and climate change is becoming an increasingly worrying challenge that farmers are not fully aware of.
  • Access to information for rural farmers and architectural communities in developing countries (focusing on Africa)
  • Illiteracy of farmers, lack of resources, lack of access of information, poor transportation, poor markets, climate change (unpredictable weather).

What is the specific problem (So this affects 1b people… where is a specific concrete starting point where you see the need most)

  • India: Farmer suicides due to multiple factors (debt burden, monsoon failure). NOTE: most recent dataset is from 2015.
  • Illiterate farmers unaware of progress with understanding of crop rotation successes, drought resistant seeds, use of green manure, etc.
  • 2017 Famine crisis due to drought
    • Somalia — hasn’t seen rain in months
    • South Sudan — violence has displaced individuals from fertile land
    • Nigeria — violence and burning of villages leaves people unable to feed themselves
  • The empowerment and equality of women in developing nations. In Asia, women produce 60 percent of agricultural products, and in Africa that figure is 80 percent. However, these same women also are not given equal access to credit which could enable them to afford quality seeds, fertilizers, and water pumps, increasing their production and providing more food to their communities.

What’s a link between that and the environment you’re living (i.e. “Something closer to home”)

  •  In the US, it’s relatively easier to find farmers who generally do trust technology and are willing to try out new techniques. They understand the growing need for better methods, and find a personal economic benefit to embracing technology.


What types of 100B$ technology *might* be able to impact this (broad stroke – think crazy)

  • In the case of farmer debt, the blockchain could be used to figure out how this money is spent to figure out what’s not working, and potentially educate the farmers accordingly. Automated farming is also a potential tech that could be used.
  • In the case of climate change, machine learning could be used to alert the farmers of the changing seasons.
  • Drone Technology. Having drones transport produce to market and facilitate communication/transfer of goods. Automated phone calls.


3-5 links of resources that you have researched that specifically speak to you about this problem




Response- Einstein’s Dreams

Section 4 (28 June 1905 & Epilogue)

At the beginning of this passage, the author eludes to the concept of enjoying the present moment as a child and adult, together at the same moment in the story: a similar experience– awake and happy.  Then the next moment the adult has sprung from the present in the attempt to freeze the moment of time so that they can enjoy it longer.  In comparison in the child’s mind, they yearn to grow up as fast as possible to experience the next thing.  As a child, we yearn to grow to the age when we can really live and experience life; as an adult, we feel that life passes us too quickly and we only wish that it would slow down so that we can appreciate it more. Where is that delicate balance where we can just be happy with the moment we are currently present in and are not looking to the future or reminiscing the past? Is there an age where the scales tip from one want to the other?

Throughout the novel of Einstein’s Dreams, during the sections that talks about the specific experiences that Einstein went through, Einstein seemed to always be so busy with his work.  Always entangled in his mind and thoughts. Never truly present.  In the last Epilogue, Einstein had finished the mathematical model, his newly developed theory, that he had worked on for some time. As he handed the handwritten notes to the individual that would type out the document, it was the first time that he describes the feeling of being “empty.” He is truly in that moment observing the birds flying above the alps. He doesn’t yearn to correct his calculation or adjust his thought process.  He is in that moment, not in the past or thinking about the future.

This left me thinking about how often in his lifetime he was able to achieve that ‘truly present’ moment in time.


What an incredible journey this entire book was.  If you haven’t read the entirety of Einstein’s Dreams, I would certainly encourage it!

Testing New Techniques in VR


For the midterm project, Alexia, Natasha and myself wanted to play with the technique of depth kit.  It was surprisingly difficult to set up and calibrate the camera.  The documentation also isn’t the most helpful online, but we were able to get it to work, with some help from other ITP students on the floor.  I really like the application of volumetric capture in a piece.  I feel like it gives another level if familiarity and thus connection to the ‘real like’ characters in the scene.  I really like that we played with the digital effect of this capture to cause the movement in time and space to seem a little bit more weary.


For the final project, Penelope and myself started thinking about what technologies we can used to make our piece “worthy” of being represented in VR/360.  We don’t want to just create a piece that is a film in 360, we want to give the viewer some agency and the film so that they can influence what the end result will be for the viewer.  Penelope and I started exploring the platform WondaVR to take full advantage of the gaze triggered options.  We want the viewer to be brought into other storylines if they gaze in the correct direction.  We have reached out to the creators of WondaVR for more specific technical questions about what the software allows and what the limitations are. A specific question we have is that if you are in scene 1 and when you gaze in a particular direction and then are launched into scene 2, at the end of scene 2 are you able to be launched back into the exact time of scene 1 where you left off.  This point will dictate how we will shoot our film as we want the viewer to have the ability to search around for clues but not miss anything from the main story.

I also started playing around with the Nikon Key Mission 360 Camera to get a better idea of stitch lines, quality and camera distance.  I uploaded a video to Vimeo and Youtube to study of my in a cabin in Killington, Vermont, where I went snowboarding for Spring Break:




Vimeo can now detect 360 footage, so I wanted to see if it is better quality that youtube.

The file doesn’t automatically make it 360, you need to go to the video Settings > Video File and check the box that that reads This video was recorded in 360 (as seen below).

You are then brought to this screen:

This gives you some nice features that youtube doesn’t offer.

  • You can adjust the Field of View
    • this allows you do zoom in or out on the whole video and save that as a preset
  • You can also adjust the Pitch and Yaw.
    • Pitch gives you the option to start the video in any position on the y-axis.  If you want the video to be looking at the sky when it starts, you can adjust that with the pitch
    • Yaw gives you the option to start the video in any x-position.  For example, I uploaded the video and on the yaw axis, the beginning of the video was looking at the wall.  As seen in my presets in the screenshot above, I moved the yaw from 0 (facing the wall) to 165 (facing me).

Having the ability to adjust these presets for the video directly in Vimeo is really great.

However, it looks like Vimeo compresses the video just as much as Youtube and doesn’t look much better :(.


Nikon Key Mission 360

I wasn’t entirely impressed with the quality of this camera.  It doesn’t seem to be much better than the Ricoh Theta.  However, I did play with this camera in low light to see what it would look like.  Not good 🙁