This year we worked with Thomas Jefferson University to create a digital donor wall for their new Alumni Center where a user can explore the profiles of donors through a touch screen and have that interaction reflected in an adjacent wall, where the names of the selected donors glow.
In planning for the project we identified possible hardware and software solutions for the interaction between the interactive and the wall, knowing that the scale of the project would offer a challenge. The wall would include up to 500 names, which would require around 10,000 LEDs. We also needed to create quickly so our project partners – Art Guild and Metcalfe who were designing and fabricating the physical wall, could get their work done.
So we decided to utilize a prototyping process centered around a series of prototyping workshops. Each workshop focused on addressing our challenges by experimenting with a particular piece of hardware, namely either an LED (light-emitting diode) strip or a microcontroller.
Before Each Prototyping Workshop
Prior to each prototyping session, we identified goals and objectives, conducted research, and ordered supplies. For example, for our first Hardware Day the goal was to identify the LED strip that we should use for the project and program specific LEDs along the strip to elegantly fade in and out at an interval.
We conducted research to learn about LED strips. LED strips can control their signals in different ways, which impacted the controller we could use, and have different pulse-width modulation rates. Given that we would be using strips of around a meter in length, we also wanted to be sure that there wouldn’t be brown-out (dimming of LEDs) at the end of the strip.
For this first Hardware Day we ordered two different kinds of digital LED strips, both with 60 pixels per meter, but one that uses single control protocol, where time and data travel on the same wire, which means very strict timing requirements, and one that uses a double wire SPI (serial protocol interface), where time and data travel separately.
We evaluated different LED strips, connecting them to an Arduino microcontroller. We had to pay attention to the programming implications of hardware choices. Often the IDEs (Integrated Development Environments) for microcontrollers are linked to specific programming languages, so over the course of the project we learned just enough of various languages to prototype.
Discoveries from Our Prototyping Workshops
Prototyping sessions began with a review of the key objectives and organizing equipment. Then we went to work, often consulting a model or diagram we had identified in our research upon which to base our efforts.
Although there were several projects online that featured some characteristics of the Donor Wall project, we didn’t find one that fit our needs exactly. While it was relatively easy to make programmatic adjustments, there were times when we hit a dead end when it came to hardware. Something just didn’t work out or was severely flawed. That was definitely the case when it came to the issue of scale.
While we could build the functionality we needed for the wall with one microcontroller and a one LED strip, scaling up with that paradigm created too much complexity. What that looked like in our prototyping session was so many wires on a breadboard they looked like a bird’s nest, a similarly complicated whiteboard diagram, and a lot of code. There had to be a better way.
Flexibility is important in prototyping so when we realized that we needed a shift in our thinking, we cut the workshop short and focused on the issue of scale. The “Eureka!” moment occurred when we discovered a niche product, the Fade Candy controller, that elegantly handled our specific issue.
The time spent experimenting with the conventional microcontrollers wasn’t wasted; we had created a prototype that allowed our partners to move forward with their work and we were able to streamline our work on both the hardware and programming sides of the Fade Candy thanks to the lessons learned prototyping.
After Each Prototyping Workshop
Each workshop yielded lessons learned and a physical prototype that was more robust and refined than the previous one. We debriefed with the project team, kept in touch with our partners, and began planning the next workshop. Throughout the project, we conducted four workshops.
Some housekeeping notes about the workshops: Throughout the workshops, we took pictures and video, documented what we learned, and saved all of our code. To help the team focus, workshops were held in a private space and timeboxed.
The prototyping process we used for this project had many benefits. Regarding the project, we were able to iterate efficiently, identify elegant solutions, and keep the project moving forward. Beyond the project, the prototyping workshops helped our team build new technical skills, think creatively, and develop rapid problem-solving skills.