Tangible Interaction Workshop – Lighting Controller


This is a wireless controller for the type of stage lights found in many performance venues.  The controller selects colors, changes the brightness, and turns the light on and off. The enclosure itself has a strong visual design that doubles as a control panel, suggesting to users how to interact with a circular soft potentiometer, a sensor not familiar to most people.

Tools: Soft potentiometer and rotary encoder, Arduino MKR1000 microcontroller, Tom Igoe’s sACNSource.h library, and vinyl adhesive sheets.

Demonstrating the controller’s color selection feature.

How It Works

The user’s interactions with the tangible sensors causes analog and digital signals to be sent to the Arduino microcontroller. Code saved on the microcontroller runs logic to determine what to do based on these signals, and then stores answers that are sent via wifi to lights using the DMX protocol (the standard language used to communicate with these standard lights found in performance and retail spaces).


The circuitry inside.

Creative Process

Prototype 1 – Test Connectivity

  • Ran generic tests to guarantee connectivity to existing wifi and lights systems. Used simple code to connect microcontroller to private WiFi network and send DMX commands to stage lights.

Prototype 2 – Draft Pseudo Code & Test Features

  • Drafted code’s logic and structure to realize new designs for lighting controller.
  • Got help from Tom Igoe doing office hours to clarify understanding of rotary encoder’s behavior and how data is compiled to be sent as packets.
  • Obtained clean readings from sensors & tested new features by implementing one block of code at a time to isolate bugs and ensure smooth progress.

Final Prototype – Write Final Code & Fabricate

  • Controlled lights and fabricated enclosure.


Challenges & Next Time

I’d like to understand why my all of my controller’s features work when powered by my laptop, but only half work when powered by a LiPo battery (I used a 3.7v 2000mAh battery, which should be enough but I will have to find out). I also have some flow issues in the structure of my code, so that while a command exists to entirely shut off the lights, it’s not being activated. I hope to completely finish this controller and the MIDI music controller this spring.


Designing Meaningful Interactions – Draft of Product Prototype

Here is a flow chart & drafted working prototype for my friend’s idea of a Studio Rental app. Looking forward to getting user feedback from people in the next week.

Link to prototype here, and a few screen shots below. I used Sketch to create the prototype, and Invision to create a shareable version online. I’ll work on connecting the hotspots.  https://invis.io/WYG3SWTBNRC#/282238030_Studio_Page 

I made the Flow Chart in Illustrator, using the graphics I created for the User Journey last week.

User Flow Chart


Screen Shot 2018-03-01 at 12.13.46 AMScreen Shot 2018-03-01 at 12.14.06 AMScreen Shot 2018-03-01 at 12.14.38 AM

Capacitive Touch Sensor Report: Breakout Boards

This sensor report covers capacitive touch & compares a few breakout boards. I created a chart and went into more detail regarding a specific breakout board that is simple & reliable.

animated (7)  animated (2)



  • What is Capacitive Touch?
  • Pros – What is it good for?
  • Cons – Why buy a breakout board if you can DIY?
  • Comparison Chart
  • In-depth look at Sparkfun’s Breakout Board for Capacitive Touch using Microchip’s AT42QT101X (1010 or 1011)
  • References

What is Capacitive Touch?
Capacitive Touch measures anything conductive or insulating, most commonly human touch. Capacitive Touch is great for both creative and useful applications because it works with many different materials, either in the form of the capacitive touch sensors themselves or paired with unique enclosures. This is because as mentioned, capacitive touch can measure anything that is either conductive or more insulating than air, even through an enclosure.

If your project has a lot of inputs, using a breakout board can help a lot. Here are a couple recent ITP projects that use cap touch.

Chelsea Pfohl’s Moss Touch

Yining Shi’s Atmospheric Sound Lamp

How does it work?
Capacitive Touch works because the body’s water content is enough for a single finger or hand to change the electrical field surrounding two plates inside a capacitive sensor. The two plates can be thought of as antennae that senses changing electrodes.  The change in electrical field caused by a finger results in a reading that you can use in your code to trigger whatever event you’d like.

To clarify, the user can be near or far away from actual capacitive sensor itself. You can move the electrode, the pad that receives the user’s input, as far away as you like. It all depends on your materials and wiring.

Pros – What is it good for?
As for benefits, there are a few. Capacitive touch:

  • Allows your user to give inputs with something other than a typical button or slider — but still physically touch something (which is more intuitive than gesturing in the air). 
  • Replaces mechanical components such as buttons or knobs which can wear and tear over time.
  • Can provide a more streamlined or unique appearance to your project’s enclosures & user inputs.

Cons – Why buy a breakout board if you can DIY?

Sure, for a one week assignment, you can DIY your electrode with copper, foil, velostat and conductive fabric, etc. And yes, you can use the Arduino Captouch library and put off buying a breakout board. 

But for a larger project, you’ll want to spend a little money because your time is better spent figuring out the higher-level or trickier parts of your project, instead of debugging what you did by hand.  While yes, you can make your own quick electrodes (foil, copper, fruit),  by using a manufactured electrode and/or breakout board you can trust it will all work reliably. And using the Arduino Captouch library is good, but plan to only use an Arduino Uno, as the library is only written for that microcontroller (until it’s updated).

Comparison Chart of a Few Options

Although finished, I’m having trouble posting the chart. : (


You can see the comparison chart online here.


In-depth Report:

Sparkfun’s Breakout Board for Capacitive Touch using Microchip’s AT42QT101X (1010 or 1011)

animated (7)

The board in action. No mechanical parts due to the magic of capacitive touch.

What is it?  What does it do well?

Sparkfun’s breakout board is a cap touch button in and of itself. You don’t have to build your own electrode/button, unless you want to. It works well as a replacement for a key press.

What is it bad at?
Sparkfun and the chip maker say it’s built for proximity sensor readings. However, this barely worked for me, even on its most sensitive mode. To a regular user, it’s actually harder to hover 1 cm above the pad (proximity) then actually press it (touch).  

animated (5)

Not great at proximity readings.

But on a related note, the board’s readings can be switched from Fast Mode to Slow Mode. Although a pain, you can move the solder on the back of the chip from Fast Mode to Slow Mode. Slow Mode is helpful if you want to use less power by sending fewer frequencies to the electrode’s pad, but be sure to test that it’s still sensitive enough to get the readings you want.

What does it NOT do?
Measure how hard the user is pressing.

Tips to Avoid Debugging

  • If you wire several of them together, be sure to figure out how to sync their clocks together.
  • If you wire one or more into a larger circuits, don’t share power. This might give you strange readings. Add a voltage regulator so that this board is protected from changes in power.

But how does it REALLY work?
The AT42QT101X chip reads the conductive area in order to detect “touches” by a user. It does this by sending high frequencies to the pad. This technology is called “digital burst mode charge transfer” or “spread spectrum charge transfer”. If a finger is pressed, the pad changes the shape of the pulses. When the chip detects these slight changes it raises the OUT line to HIGH indicating that a touch is present. The amount of time you can say it’s “on” depends on whether you’re using the 1010 or 1011 chips (with the 1010 turns off after 60 seconds of being “on”; the 1011 stays on as long as the user presses it).

What would you use it for? You might use it in things like:

  • Control panels
  • Lighting controls
  • Anywhere a mechanical switch or button may be found
  • Large installations
  • The makers say it’s also good for toys.

You might also find it solves your design needs, such as:

  • For aesthetic reasons, you might want to create a streamlined look for your user input button behavior by hiding these underneath material.
  • For physically large projects, you can have your user be far away from your microcontroller when giving inputs.
  • For peace of mind, you can isolate your inputs into this specialized board so they’re more likely to work consistently (over creating your own).

Enclosure Ideas – What works or not?
You probably want to cover it up as part of an ITP project. The makers say it should work with a piece of acrylic (⅛” or thinner), cardboard, stone, ceramic, and most kinds of wood. I tested as many of these as I could. Some worked, others didn’t.

These are materials that worked.

animated (2)


animated (8)

Mat board

animated (3)


What didn’t work for me, but maybe you can get it to work:

animated (6)

Thin wood

animated (1)

Surprisingly, cardboard.

Here’s the link to the hook-up guide from Sparkfun:






Designing Meaningful Interactions – Proposals for Final Project


For this last assignment we’ll be designing a product for someone we know. The design process will be broken up over several weeks:

  • Week 4: Propose our ideas before selecting just one
  • Week 5: Create an Experience Map (a timeline in the form of a chart) and User Journey (a story in the form of images)
  • Week 6: Develop a working prototype of the product
  • Week 7: Conduct user testing of the prototype with five users & Make final changes to the prototype based on user testing


Here are my four proposals!  We were asked to think of three people and imagine products that might solve a problem in their life. Instead, I chose to ask people directly instead of imagine something.  Within this kind of scope, people know their lives best & what they want!

Idea #1: Recording Studio Open Hours

A Friend’s Need: A friend of mine is a 30-something musician and now successful producer and engineer. He says he’d love an “uber or airbnb for recording studios” – a way to post your private recording studio and its open hours, say midnight to 5am. There are a lot of private studios in apartments with separate entrances or in basements, besides the usual big ones in midtown.

Proposed Product: An app or website. Further research interviews with my friend and other musicians and engineers will lead to specific features. For example, does this group of creatives use business cards? If so, is this service worth including in the site.


  • App/website: www.airbnb.com
  • Business cards: https://www.vistaprint.com


Idea #2: Song Saver Dongle

A Family Member’s Need: I have a family member who is a music expert. He’s collects vinyl records for years & knows a lot about certain genres of music. Now he’s in his late 30’s and has two daughters and less time. He wants to have “an app or product that continuously “shazams” or listens to sound coming out of the audio output/headphone jack on computer or mobile phone and produces a list of music played”

My Proposed Product: A small product that you pop into your audio jack and uses wifi or bluetooth to send the audio or song titles and artists to a list or spreadsheet. Note that I’m purposefully not recommending an app or software. This is because I want to stay away from designing things that listen to your whole life and connect that information to the general ecosystem of your online life . Instead, as a creator, I’d want to want to create something “dumb” enough that they are separate from your other accounts and physically communicate that by being a separate piece of hardware.


  • Chromecast stick. https://store.google.com/product/chromecast_2015
  • USB mini stick for mice. https://en.wikipedia.org/wiki/Logitech_Unifying_receiver
  • Dongle for iphone ear buds that no longer work with audio jacks. https://www.apple.com/shop/product/MMX62AM/A/lightning-to-35-mm-headphone-jack-adapter


Idea #3: Getting newborns around the city

A Friend’s Need: A friend in her 30’s was severely homebound for several weeks after giving birth to newborn — even though she wanted to get outside! She couldn’t travel with the baby because she had a C-section, it’s hard to carry a baby and collapse a stroller at the same time, most subway stations don’t have elevators, and cabs require car seats but few have them.

My Proposed Products:

  • Extender for strollers to hook onto handrails in subway stations.
  • Add flat section to stairs that make it easier to roll strollers and bikes up and down subway stairs.
  • Porters at subway stations who carry stroller down stairs.
  • Special buses with sections for strollers, like Portland has for bikes.


Idea #4: Sock Service

Family Members’ Needs: Two people in my family get holes in their socks. For at least one of them, it is a source of real frustration as they buy seemingly perfectly good socks but yet they still fall apart. The product’s failure can make them feel like they have something wrong with them — when it is the sock that has failed in that it’s not made well enough. In turn, the sock’s failure turns into another errand for the owner. Why not turn this frustration into a delight? New socks especially good at preventing holes could be delivered at home.

Proposed Product: An app or website for a monthly sock service for those that get holes in their socks, not necessarily for fashion.

Reference: FYI – there are several services out there already.  Images are available across sites.

  • https://www.sockfancy.com/
  • https://www.footcardigan.com/
  • https://www.socklife.co.uk/
  • https://www.sockclub.com/

Tangible Interaction Workshop – MIDI Music Instrument

For this assignment, we created musical instruments that use the MIDI protocol. Mine combines melody and percussion, and frees up the musician to use their voice if they wish. I’m imagining that lead vocalists in bands may want an instrument like this. If this prototype were to become wireless and portable, they would be free to leave their set-up on stage to move around. It could also work just as well for other musicians whether accompanying themselves, playing in an ensemble, or backing up another musician.


The soft pot is for volume, and the buttons on the right are for choosing pitches. The orange shape signifies where to strike with your drum stick. 



I was inspired by two things: One, having seen many musician friends and colleagues perform over the years while I managed and produced live music programs and concerts. I admire anyone on stage, but especially those who are up front most engaging with the audience while also playing instruments. I thought it might be fun to create something they could use that amplified how they communicate energy to the audience, all while singing and moving around the stage. And two, I’ve always loved how much sound even a small hand held instrument adds to a band. Not only that, but they usually call for such a specific gesture that the audience can really see and enjoy.

I was also inspired by these handheld instruments from across the African Diaspora and Latin America. They each add their own unique sound and specific gesture to what’s happening on stage. I admired these and thought I would make something that builds on their shape and purpose.


Claves, Afro-Cuban



Guiro, Puerto Rican, Cuban and other forms of Latin American music



Agbe, African


Assignment from Class

Make a device to control playback of synthesized or pre-recorded music using MIDI. You do not have to build the playback engine, just the physical control device. Your device will send MIDI messages to another device which will play the music.

Your device should support the following features:

    • start and stop the playing of a note
    • play multiple notes simultaneously
    • sustain a note
    • pitch-bend a note

Make a housing for your controller. Document it according to the project documentation guidelines at the end of this page.

Design Process

First I thought of a few ideas. At first I played it safe and was going to make a guitar with buttons. But I decided to challenge myself to make an instrument that doesn’t quite exist yet.

I bought my materials, including some cool buttons, wire connectors (these are amazing – no soldering to your buttons!), and containers from where else, but the Container Store. Thanks to Nick, my classmate, for keeping it real and suggesting I just get an off the shelf container rather than make my own at this stage.

Here’s a diagram of the enclosure.



Circuit Process

As usual, I started small so that I could get simple sensor readings from my five buttons, shake sensor, and soft pot.


Testing MIDI Code & MIDI Hardware Set Up

After that, I started working on code to connect those readings to MIDI messages. As an easy start, I tested my circuit with code provided by Tom Igoe to see if I was getting the expected serial monitor messages. Then I set up MIDI hardware with the example code, to see if I had connected the equipment properly. This took a few tries.

Creating My Own Code

Once I had example code and a hardware set up working, I started to try and write my own code that would allow the musician to use the instrument as I had in mind. My takeaway is that I learned a lot deciding for myself how to organize and structure my code. But despite getting lots of help, I hit a wall and will need some more help finishing it up.

I did accomplish a lot, though. For example, I wanted the built-in notes to be a normal C major scale, not half tones as in the Github example. I also wanted the musician to be able to control the volume by pressing up or down the soft pot, which meant passing that value into the MIDI message function, and then remembering it using state change detection. That way the musician could press once and let go, and not have to continually hold the volume soft pot sensor while pressing other notes.

Essentially I created a template function to run on every sensor input, which requires the three values of the static pin, static MIDI pitch value, and changing volume value. I wrote separate logic to capture the soft pot’s value, map it to MIDI’s volume range of 0 – 127, and use state change detection to save the latest reading. I funneled the three values into the master MIDI function which actually sends the data using Serial1.write.

At the moment, my on and off commands are mixing up, and I don’t have enough state change detection written to change the state of those on/off commands.

You can see my code at the bottom.

Fabrication Process

Fabricating was done mostly by hand, as the circular enclosure meant I couldn’t use the laser cutter. First I taped on paper and used a pen to mark the outside locations of my panel controls, and the inside locations of the breadboards and battery on the inside. I used a drill to make holes. And I found that colored adhesive vinyl sheets get across a lot of personality and even can serve as control panel instructions.


Proof It Worked

I had a mostly working circuit just before enclosing it  & trying to add more state detection change. In addition to needing to work on the code, I need to make sure the shake sensor data really works with a drumstick.  But proof it worked!

Final Code Documentation

Here’s my final code, as of now. I have a few quirks I look forward to figuring out, maybe as my last project in the class.


Collective Play – Dance Off


Rules of Play

In this online project, people can choose to dance on screen by themselves or with partners. Together Stevie, Simon, Nick and I put it together.

As people visit the /input page, the /output page will show the names of people joining the space. Each person can choose to stay in one spot on the screen, move or “dance” around the screen, dance near someone else’s name, and/or dance for a while near someone else’s name.

Depending on what they choose to do, their names change font type, color, or size.

And to move or “dance”, people use their phone’s X and Y orientation data.

Group Goals

As a group we got together to agree on the rules of play, and then created a visual schematic of the relationships between the /input’s sketch.js file, /output’s sketch.js file, and the server.js file. These relationships show how data from people’s phones are being captured, sent to a server, and then “styled” or expressed through javascript code by the /output sketch.js file.

Here is our larger diagram showing how the user interacts with the experience. First they use their own device to enter their name. Then they look up to a projected /output page from a second device, showing their names move around the screen based on the changes in x and y axis of their phones.



This diagram below demonstrates in more detail how code instructs the server and local computers to pass data via sockets so that the users can see results.


Individually, we took on specific roles similar to a team at a tech company. Mimi suggested this arrangement to be sure we were coordinating our code so that it would fit together even if we worked apart Our roles this time were as follows:

Nick – Technical Manager
Stephanie – Front End Developer
Simon – Front End and Back End Developer
Elizabeth – Project Manager

Game Documentation

Here we are playing what we created.

Code Documentation

Check out our game online at Glitch. See below for our code with comments.

Play yourself:

See the code:




Designing Meaningful Interactions – Counter Prototypes

For this assignment, I found both user scenarios (read below) to be different enough from each another that I created two different desk counting prototypes.

Marco’s Desk Counter

This slideshow requires JavaScript.

Maria’s Desk Counter

This slideshow requires JavaScript.



Based on my instincts, I felt strongly that the emotional states of limiting one’s diet versus anticipating vacation were different enough to call for unique prototypes.  I also based this decision on having read recent articles and books popularizing psychology and human behavior.

For example, I’ve heard that it is the positive emotion of anticipation that people most enjoy about vacations – not the actual vacation itself. Said another way, fantasizing about a perfect paradise is more fun than actually experiencing the realities of logistical hiccups or misunderstandings with travel mates. And when it comes to creating new habits to cut down on addictions, such as Marco’s coffee intake, I’ve read that the brain has only a certain amount of will power to spend each day …so you plan & better spend it wisely. Plus there might be negative emotions around having to restrict your diet, not positive ones like those associated with vacation.

With all of this in mind, I decided that Maria and Marco’s motivations are responding to really different emotions and possibly even reacting from different regions of the brain. Combining their needs into one prototype felt like I was simplifying their needs into a solution that wouldn’t help either of them. Therefore, I created different prototypes that played up different features to meet each of their emotions and needs.

Prototype #1

Maria’s prototype allows her to savor the anticipation she feels leading up to her vacation. As a break from feeling sad about work, each day she can get a quick high by revealing one small detail of a beautiful photo of her vacation destination. As she eats her lunch at her desk, she can remove one puzzle piece from the board, slowly but surely knowing that she is one step closer to her escape. This design allows her to focus on one small vision of her destination, encouraging her to support savoring and really enjoying her anticipation. As for fabrication, I’m imagining that in a final prototype the puzzle pieces are cut out of flat magnets so that they are easy to peel off from the printed photograph. Behind the photograph is another magnetized board. With this arrangement, she can easily replace the photograph and reuse the magnetized pieces.


Maria begins anticipating her vacation with a full puzzle covering up a photo of her destination. Each piece represents a day between her and her flight to Yosemite National Park. 


At this point, Maria is about two thirds of the way towards her hike through Yosemite. In a couple days she’ll be able to see the peak El Capitan.


Prototype #2

Marco’s desk counter prototype goes so far as to actually help him manage his coffee addiction. This magnetized board provides not only a method to plan his coffee intake but also track his progress. Knowing he wants to stick to 15 cups a week, he can put two, maybe three, coffee mug magnets on each day. As he drinks each cup, he flips them over to show that he’s enjoyed them (encouraging the action of savoring each cup, which might help him need less in the future). If he slips and has a third or fourth, that’s not a problem. He can take one or two mugs from later in the week and move them over. But that means no coffee at brunch on the weekend! Again, the fabrication would make use of flat magnets but that are printed on both sides to show an empty or full cup of coffee.


This design allows Marco to plan out his ideal coffee consumption for the week.  15 cups divided evenly is 2 cups for six days, and 3 cups on the seventh day.


As the week goes by, Marco can flip each coffee mug to reveal the full cup of coffee that he just enjoyed. If he has more than two cups of coffee in a day, that’s OK – he can take one from later in the week, but will clearly see he has to hold back on the weekend.


About Personas

I’ve heard about personas in the past, and have been suspicious of how useful it is to design for them. I myself can see that I spun a few stories above to persuade the reader that these prototypes will meet the needs of personas Maria and Marco.  I’m curious if companies typically invent personas, or base them on research?

Assigned Personas

Maria is a 30 year old PR Account Manger working at Havas. She finds her job boring and lives for her vacation. Some days she feels she cannot make it to 5pm without knowing that there is a vacation on the calendar. Maria is constantly tracking the number of days until her next vacation. She is looking for a fun way to motivate herself by tracking the number of days until her next vacation.

Marco is a Sales Rep for google. His job is stressful and he has developed a bad habit of drinking too much coffee. He is trying to cut back because he can’t sleep at night. This winter he is up to 4-5 cups a day. Jon loves coffee and doesn’t want to quit, he just wants to scale back from almost 30 cups a week  to a limit of 15 cups per week. marco is looking for a way to easily track his coffee consumption by counting the number of cups he drinks each week.