Big Bar Chart is an interactive data visualization sculpture designed by Laura Perovich. The goal was to make a friendly and approachable interface that enables people to confront and interact with data they normally wouldn’t pay attention to.

When I joined the project, version one of Big Bar Chart wasn’t the full expression of Laura’s vision. I was tasked with redesigning Big Bar Chart from the ground up in order to accomodate more design features. This involved overcoming mechanical, electrical, and programming challenges. Through the project, I learned some of the difficulties of managing the redesign of embedded systems. I also learned how to use unfamiliar tools quickly and how to document my work for future academic use.


My adviser Laura Perovich is interested in using innovative visualization methods to help people understand data they normally don't interact with. Big Bar chart is supposed to be a soft and approachable way for process data about the environment. The vision is that when you push down on one bar (i.e. change the value of a variable), other bars would respond by changing height as well.

While the vision was clear, breaking this down into clear technical milestones presented some challenges.

Mechanical Challenges

The existing version of Big Bar Chart had some mechanical shortcomings. It relied on one motor using a worm gear to pull 6' tall, spring loaded laundry hampers up and down using string. This had two big problems:

1. The hampers were so tall they had a tendency to buckle in the middle

2. The strings would tear through the edges of the laundry hamper making it a very fragile sculpture -- not as interactive as it should be.

Electrical Challenges

Electrically, version 1 of Big Bar Chart simply didn’t feature some of Laura’s intended design elements. This manifested in two ways:

1. Rather than being able to interface with the columns directly, users used soft beanbag buttons to manipulate variables.

2. As a result, the bars did not need to be aware of their relative heights because they were hard-coded to respond to two discrete inputs.


There were two mechanical problems I wanted to solve during my time with Laura:

1. Redesign the extension mechanism to be more robust

2. Create infrastructure to support height sensing within the bars themselves and housing for the accompanying electronics.

Extension Mechanism

The previous system was unstable because it relied on the spring to pull itself up and tension in strings to pull it down.

In order to combat this, I wanted my extension mechanism to weigh the spring down and use the spring’s energy to help lift it up. I decided to use three lateral scissor lifts to raise the top of the bar, making a model using foam-core to demonstrate proof of concept.

Ultimately, this design would be fabricated using drawer slides rather than low friction foam core.

Sensor Housing

I decided that in order to create the illusion of direct interaction, I would turn the top of the bar into a large button that users could interact with directly. This meant I had to make about the top 6” of each bar “pushable” and “pullable.”

To do this I stacked different pieces of acrylic fashioned to support stretch sensors and buttons. The center would serve as housing for each bar’s microprocessor.


From an electronics perspective I had two goals:

1. Support communication between bars so future designers could have the bars interact and display more meaningful information.

2. Use a conductive rubber as a reliable “pull” sensor.

Radio Communication

I used Adafruit Feather M0 boards to allow bars to talk to each other via RF communication. I developed a state machine to help reduce the bar communication to its essentials. By communicating each Feather Board’s location in the state machine, I was able to control LEDs which represented the state of each bar.

Dynamic Sensing

One of the integral parts of Big Bar Chart was pairing the state of the bar with other forms of feedback such as light or sound. In order to process the state of the bar I developed a stretch sensor. By using a resistor that varied with mechanical stress I was able to create a stretch sensor. This had a few problems though: namely, the resistance and subsequent voltage reading varied too much and too unpredictably. To compensate for this I setup the resistor in a wheatstone bridge configuration to stabilize the readings and get cleaner data. After integrating this I was able to add feedback in my big bar chart system so next was using that information to create a cohesive experience.


Big bar chart taught me some of the challenges of working with embedded systems. I found myself hesitating to make progress on the electronics because I didn’t have a clear plan with the hardware or vice versa. After taking a step back and coming up with a clear plan, it was much easier to execute and deliver real progress on each milestone.


Special Thanks to Laura Perovich, Michael Bove, and everyone in the OBMG.