The MHCI+D Prototyping Studio final challenge: to “expand on a prototyping technique or techniques that (we) learned previously in the course, but with fewer constraints on the application domain or design.”

We were allowed to work in groups of up to three individuals, and given total freedom and control over project topic. The only requirement: to build a prototype for the purpose of exploring the desirability or feasibility or usability of a design. In other words, the prototype had to be evaluable and user tested.


It all began with Garrick’s vision of a drum machine. A one-man team at the start, Garrick planned to build a drum machine with an accompanying visualization using Processing; he was inspired to design a visualization similar to what those with synesthesia might experience while listening to beats.

Lauren was the next addition to the team. Because Garrick and Lauren had worked together successfully in the past, and because they both shared an interest and passion for making and music, they thought they would be stronger together than apart. Lauren brought ideas of electric paint on plywood and small drums made of fabric to the table, along with a Bare Conductive Touch Board to experiment with.

Next came Chris. Chris had been throwing around a few project ideas, but nothing was sticking; he made the wise decision to join the drum machine team, and brought with him exciting ideas like a bubble machine output, along with tremendous skills and experience in both building and music.


We spent some time in the studio, throwing out ideas ranging from the possible to impossible. We had many ideas about what form the drum machine might take: small, traditional box with button sensors, electric paint on a piece of wood controlled by user hands, conductive fabric on wood controlled by user feet, and a fabric drum kit with textile analog sensors sewn together with conductive thread. Eventually, however, we decided to recreate a cajon, incorporating sensors into the design for our drum machine, the input portion of our project.

Regarding the output and visualization, we had thoughts of a Processing visualization either displayed on a monitor or projected onto a wall, an LED light display with movement reflecting the rhythm, and a bubble machine with a correlation between bubble size and drumming intensity. After brainstorming countless ideas, we finally decided on paint. The initial idea involved spray paint and solenoids, so that each sensor hit on the cajon would result in a different color of paint being sprayed, while a piece of paper spins around the cans of paint. We believed users would love having a piece of art to take home that they had indirectly created by making music. Additionally, we loved how, with the cajon and graffiti like art, our project was taking on a theme of street art! After going over the details and logistics, however, we realized just how challenging our graffiti art idea would be to pull off given our limited amount of time, and instead decided to recreate a spin art inspired output using eyedroppers, regular paint, and solenoids.

Additionally, we decided to move forward with prototypes of a few other drum machine forms we had ideated. We thought it would be excellent practice and experience, useful for user testing, and fun for visitors to play with at the Final Project Show.


The biggest challenge we came across was part acquisition. Ordering different types of sensors to try, along with other necessary materials, and then waiting for them to arrive, was a time consuming and frustrating process. Furthermore, once we had the sensors, choosing the best fit for our needs was challenging.

We experimented with the following sensors: electric paint, piezo, force sensitive resistor, and textile analog sensor. The electric paint was ruled out early because it is merely a touch and motion sensor, and not a pressure sensor, a necessity for any decent drum machine. The piezo sensors we worked with did not make the cut either due to extreme cheapness and unreliability. The force sensitive resistor, while meeting most of our needs and requirements, was not quite quick enough to respond, and thus not an ideal sensor for our project. In the end, we decided to move forward with the textile analog sensor. Although designed to be used for wearables and other textile-based projects, the textile analog sensor was the most reliable and fastest responding of the sensors at hand, potentially in part due to it also being the priciest. Unfortunately, this decision meant that the fabric-composed drum kit could no longer happen, but sometimes sacrifices have to be made.

To build the cajon, we utilized a pre-made kit. This cut significant time in developing dimensions and gathering materials for building a standard cajon.

For our purposes, we strictly used the wooden casing as a vehicle to house the electronics and left out the bundled snares. We then cut small slits on the front face of the cajon to help secure the textile sensors. This also allowed us to hide the wiring and arduino itself inside the cajon body. To help reduce the natural reverberation and overall sound of the wooden body of the cajon, we used foam and other damping materials to ensure that the sounds from the pads were the primary audible sounds. In addition, by placing the arduino on a cardboard shelf on top of the dampening material, allowed the arduino to be secure from wires disconnecting due to the resonance from hitting the sensors/cajon.

The electronic portion of the project consists of the use of four textile analog sensors, an Arduino Uno, four small 24V solenoids (for actuating the eyedroppers - see SPIN-ART below), and appropriate wiring and resistors. Each pressure sensor was wired as an analog input with 5V power.


We knew we wanted a visual component to go along with the aural part the project, and after much brainstorming this eventually manifested as a spin-art machine. Each of the four sensors on the cajon signals a solenoid, which pushes an eyedropper full of paint, releasing one drop at a time onto a spinning paper. Drum controlled art! And as mentioned before, this provides a take-home item for attendees of the show-and-tell.

We made a list of the required components: 4 solenoids, 4 diodes, 4 transistors, four 1Mohm resistors, 3 snap-on 9V battery terminals, 3 9V batteries, wire. Parts were ordered through Adafruit. After receiving the solenoids, initial testing made us think that these were not powerful enough, but they actually were. The source for our Arduino-controlled spin art machine was an instructable on Arduino control of solenoids:

We looked at several methods of incorporating the solenoids, but this seemed the most straightforward. Even so, it was much more complicated than we first thought. Solenoids (like motors) have copper coils which create an electromagnetic field. A side effect of this is that when the power is disconnected, back-EMF is created - current flows through the circuitry backwards and can fry electronic components. Therefore, a one-way valve called a diode must be installed to block the back-EMF.

basic schematic showing D1 (the diode) across L1 (the solenoid)

The solenoids can be powered by any voltage from 5-24V, but we found that full power was necessary for the solenoids’ kick to be strong enough to squeeze the eyedroppers. We wired three 9V batteries in series to produce 27V of power. It was very tough to create the physical structure that held the eyedroppers at the precise distance from the solenoids necessary to make the eyedroppers release one drop at a time.

We then procured the materials for the structure and began building. After confirming that one solenoid worked, we went ahead and assembled the entire project: Arduino, breadboards, cajon with sensors, and spin-art machine.


The software side includes native Arduino programming software, the Hairless MIDI-Serial Bridge, and MAX/MSP. The Arduino software is used to handle input from the Arduino and to send MIDI information into the Hairless MIDI-Serial Bridge. MAX/MSP was used due to its accessibility and capabilities to read MIDI information and playback sound files.

In Arduino, each pressure sensor is programmed to send pressure information into Arduino, which is then converted into MIDI data to be read in MAX. Each sensor is capped within a specific range of data (100 to 300 units) in order to maintain proper scaling for dB gain in MAX. However, since one of the sensors gave improper readings, we had to adjust the scaling ratios in order to normalize the readings. All four sensors are given trigger states to ensure that sounds will only play once per user input. These trigger states also contribute to control the solenoids.

In MAX, the MIDI is received via the Hairless MIDI-Serial Bridge and packaged into one unit data consisting of pitch and velocity. Based on the pitch given (i.e. which pressure sensor is pressed), MAX triggers a sound sampled based on the audio file given with “read”. The velocity reading is the scaled pressure value given from Arduino and scales the gain of the audio clip before being played by the ezDAC object. The advantages of using MAX/MSP for this project is the ease of playing any audio file from the hard drive of the computer. Even though Processing has some audio capabilities to trigger several different sounds, MAX provided a far more sophisticated audio infrastructure.


Once the Spin-Art portion and the cajon portion were separately assembled and tested for functionality, it was time to assemble the entire product. Since the textile analog sensors required analog inputs while the solenoids required digital inputs, it was possible to solely use an Ardunio Uno board to house all the necessary inputs. With an auxiliary power source using three 9V batteries, the entire project would be aptly powered. We also utilized a total of three breadboards to house all wiring components with two breadboards for the cajon and one for the SpinArt.

We wanted to hide all the wiring and components of the Arduino inside the cajon itself and minimize the amount of inner working material viewable to the users. This was to keep as clean of a setup as possible to ensure the least amount of issues for the day of the showcase. Because of the form factor of the cajon, we were able to do this comfortably.  


For the day of the showcase, we assembled the cajon and SpinArt components. We set up the cajon close to the SpinArt station to allow users to view their artwork while they drum and listen to the sounds. In general, users had a pleasant time interacting with the prototype, commenting on its effectiveness and overall enjoyment factor throughout the process. Many of the positive comments included the joy factor of the prototype and the originality of the design. Some of the criticisms included the pads not being super responsive all the time and the eyedroppers not dispensing paint when pads were struck. These were a function of the prototype being its infancy in terms of user testing and a result of the first phase of prototype design. Halfway during the demonstration, we had to switch out batteries in order to maintain the power threshold for operation. Due to the demand, it was difficult to ensure the prototype was fully functional and as a result, one of the sensors stopped working. We found out that after heavy use from some of the users, some of the leads and connections loosened, which caused the sensor to not react properly. However, it was a testament to the design of the prototype that despite heavy-duty punishment from user testing, the prototype still functioned well.