Where do I fit? is a proposed, interactive touch wall, researched by the 2019 Interaction Design Graduate cohort at Cal State East Bay.
In Fall 2018, California State University East Bay academic system converted from quarters to semesters. Along with this change, the Art department revised and added several new degrees. The Art and Multimedia departments needed a way to gauge the student’s projected careers and interests. The mission of this project is to research the creation of a full wall capacitive touch sensor to poll students for this purpose.
This project was done in partnership with the Multimedia’s Graduate class MM680 The Goal of the class was to use our combined efforts to better understand mutual capacitive sensing through a series of investigations. These included a general survey of research papers and projects on the subject, building and programming multiple models using micro controllers, and sensors and finally implementing a design challenge.
We started be reading a number of articles and following tutorials individually then sharing our findings.
Our point of departure, this is a rigorous study on creating a multi-capacitive wall touch using an low cost paint.
Excellent description of mutual capacitance!
This paper is pretty dense, it presents a suite of resources and approaches for creating your own mutual capacitive system.
OGet going with Capacitive Sensing on Arduino Uno
Quick Start Guide for Arduino Nano
Specifically, Step 5: Cap Sensor Diagnostics Tool
This was the guide we used to get capsense data pushed to Google Sheets
We did some serious inquiries into this, working with the Computer Science Department. Each panel has 14 wire terminations into a board that contains the following ICs: The large plastic panels with imbedded wires are from a gerber pattern cutter, as seen here
The SNx4xx00 devices contain four independent, 2-input NAND gates. The devices perform the Boolean function Y = A .B or Y = A + B in positive logic.
Single 8-Channel Analog Multiplexer/Demultiplexer
Based on all our inquiries, we decided to create a series of capacitive sensing nodes that would run through an arduino, using a Raspberry Pi with the Firmata library. Firmata would send the registered touches through Node Red to a Google Sheet. With this framework we could install a wall mounted interface and send poll responses wirelessly.
While half the team worked on developing the more sophisticated prototype, the other half did a deep-dive into the UX. We decided to create a few simple, paper interfaces to start gauging what our user base wanted to see in a touch wall or if they would even want to interact with one.
We created a really open-ended cultural probe, then a poll that listed of all the possible careers we could think of, with an add your own option. Finally we did a card sort of the 60+ responses.
We created a really open-ended cultural probe, then a poll that listed of all the possible careers we could think of, with an add your own option. Finally we did a card sort of the 60+ responses.
From that we created 4 personas:
Gradually we moved to a tech model that would conceal the copper panels and a user experience to show a range of interconnected disciplines across the fields of art and design. Based on the card sort, we also wanted to reserve the open ended category, “I don’t know.” This would afford users a valuable option to express their uncertainty about where they fit.
Ultimately, we hit some hurdles attempting to create a system of microcontrollers that could handle the amount of sensor outputs required. The hurdle came when the Arudino sketch not being fast enough to able to detect touch reliably send the data to Node Red We hit some hurdles attempting to accurately detect touch from the Arduino that was slaved to the Raspberry Pi. In order for Node-Red to detect the Arduino prototype and capacitive sensors at the same time, we needed to combine the CapacitiveSense library with the Firmata library in the Arduino sketch. This was taken from Edutec’s Snap4Arduino sketch. This is where the complexity began because the mash-up of code from the Firmata library had a lot of functions and variables that didn’t need to be used for what we were trying to accomplish. Commenting out this code was breaking the entire sketch and so it had to be left alone. After adding more lines of code to increase the amount of sensors to 7, the sketch wasn’t able to be uploaded to the Arduino. After decreasing the amount of sensors to 3 and uploading the sketch, the Arduino IDE started to display the error “Low memory available, stability problems may occur”. We noticed that it could only handle a maximum of two sensors before it started to have memory issues. Ultimately, this first prototype was a learning experience in capacitive sensing and we now have a better understanding of how it works.
We hope that our findings can be a springboard to the next iteration. We welcome contributors to our GitHub Page.
Niloo Khodabakhsh
UX & Website Design
Laura Greene
UX Research & Documentation
Pierre Sagarminaga
Creative Technologist
Hung Le
Graphic Design
Stephen Leber
Creative Technologist