Social Wearables Final Project

I decided to revisit my coffee mug project for the final. I feel I could spend a lot more time exploring this idea of using an integrated microcontroller in a mug coaster. I left off with the circuit making noise when the mug is down too long. Since time was short, I committed myself to programming the Circuit Playground Express with no additional sensors again.

My revised idea is to have a visual indicator giving you a sense of how long you have been holding or drinking your coffee. Before I go further into the project describe what I’ve programmed the microcontroller to do.

When it is turned on, it begins to count and the neopixels on board turn from green to orange to red. Once it turns red it will stay that way until the user intervenes. Also note that I only enabled half the pixels because it would otherwise interfere with my light sensor.

So the pixels are red, so what? The only way to reset back to the initial state with the lights off is to either make a loud enough noise or block enough light from reaching the device.

What does this have to do with my coffee?
I’ve run into a lot of articles about how Markle, the Duchess of Sussex, has been adapting to royal etiquette. Also in general living in an international city, I’ve seen a lot of students unsure about some social norms here. I thought it would be fun to explore this concept with devices. Being that drinking beverages in a social setting is a universal norm.

This training device encourages your sips to be purposeful and quick. You don’t want to offend your companion with blinding red lights when they are mid-sentence. Enter the Flow Pause. The Flow Pause is a device that not only controls the speed of your beverage consumption to a polite level, but it also makes sure your free to talk when you are expected to.



Social Wearables – Kinetic Body Extensions

For the third class we moved in the realm of kinetic body extensions. To begin or journey into this world we started by folding patterns into paper to make 3 dimensional surfaces. These patterns allow the paper to be manipulated with certain behaviors.

I enjoy working with paper. As a child I remember making ninja stars, guns, footballs and fortune telling devices with them. It’s also a cheap and readily available medium for prototyping.

Social Wearables: Body Language Project

While in a cafe helping my friend with a project, I found that I had a hard time managing my coffee sip intervals. The pacing was also weird because I would have to interrupt the conversation to pick up and drink the coffee.

What if there was a way to adjust my behavior by having an impartial timer indicate when it’s been too long between sips. I used a Circuit Playground Express to prototype my idea. I used a light sensor and the on-board buzzer to indicate when the coffee cup has been in the coaster for over 5 seconds. The buzzer resets once I remove the coffee to drink.


Social Wearables: Nudgeables Team Assignment

What happens when you mix a secret office romance with nudgeable technology? You get 2 fashionable but inconspicuous nudging devices on your waist.

The user story is about two coworkers who work for two rival factions in an ad agency. Their offices are on the same floor, but they are forbidden to have romantic relationships, let alone even converse with each other.

Enter the Belt of Nudgliness. This belt allows both coworkers to send discrete communications to each other while avoiding nosey looks from other employees. You can let your partner know that you are thinking about them without directly seeing them or leaving any physical evidence.

Both parties secure the Belt of Nudgliness to their waists. Within the belt their is a button to send a radio transmission as well as buzzer that will vibrate when it is received.

My team had several ideas about hidden communications that can happen in a work environment, but felt going the secret romance route would be an easy sell.

Social Wearables Post #1

Intro to making social wearables. For the first in class assignment we were tasked with making high five gloves. The purpose of this assignment was to get familiar with working with soft circuits.

My design is based on the example Kate showed us. For the conductive pads I decided to use polygons because I liked the idea of adding sharp edges to pliable materials. I have some sewing experience in the form of patching holes in fabric. It’s definitely a useful skill to have in life.

I created a cross design so the circuit could be closed easily from many angles. I didn’t want to use a big square as a switch and a part of the fun is playing with shapes while still getting the gloves to work.

My stitching was messier than I would have liked and one of the threads broke. But otherwise I thought it was successful.

The group project to create a social wearable for a different object was also engaging. We came up with a fist bump knuckles. The function is essentially the same, but the interaction involved connecting fists. I felt these required more attention as fists are more easily rotated so the conductive pads needs to account for that.


World On A Wire Midterm

For my World’s on a Wire midterm I decided to continue some of my previous work with virtual instruments. Before I used Unity to explore deconstructing and playing songs by navigating through an environment via a 3rd person avatar.
This time around I approached this through a VR headset and using Unreal engine. My idea was to trigger different sound elements by throwing objects at targets. My hope was to have the targets indicate they have been triggered not only with a sound clip but also physically by spinning and triggering lights.

Unfortunately this wasn’t a 1 to 1 translation between the two engines. It proved more difficult trying to translate a good experience into VR as well. Here is a demo of my midterm:

I was hoping to have the sound objects spin, but I was not able to combine that in time. To demonstrate the rotation element I created a demo spinner. I would like to tie that with an audio attribute. For example spinning faster can make the sound louder and or speed up or reverse playback. I also knew turning the playback off by hitting the targets again wouldn’t be as easy, so that is another aspect I need to explore.

These interactions can be used for storytelling by being able to explore songs, words or other sounds in “tangible” way.
I think this could be worth exploring for my final time permitting. I found it can be too easy to get distracted with technical details and lose momentum in the narrative itself.

TCS34725 Color Sensor Report

TCS34725 Color Sensor

For this report I investigated the TCS34725 Color Sensor. Typically passive sensors, one that measures values from the environment, are not tangible. The goal of this report is to consider using a color sensor within a larger system for a tangible interaction.

The TCS34725 is a light (analog) to digital converter. More specifically it measures four channels of light. The typical red green blue in addition to a clear light which measures the lux. Lux is a unit for illuminance over an area.
It also contains an IR filter, to help the sensor read what humans actually see.

In the breakout board version from Adafruit, a white light LED illuminator is installed. This helps get “accurate” or more consistent color readings when the ambient light is not a controlled variable.

Data Sheet
These are the datasheets from AMS and Adafruit:
Manufacturer’s Data Sheet – AMS
Breakout Board Datasheet – Adafruit

Key Features

  • Integrated IR blocking filter
  • 3.8M:1 dynamic range
  • Four independent analog-to-digital converters
  • A reference-channel for Color Analysis (Clear channel photo-diode)

Key Benefits

  • Minimizes IR and UV spectral component effects to produce accurate color measurement
  • Enables accurate color and ambient light sensing under varying lighting conditions
  • Minimizes motion / transient errors
  • Clear-Channel provides a reference allows for isolation of color content


The process for soldering the board is standard. Typically you are given a row of pins that is one too long. Break one pin off and place the rest (connected) in a bread board. If you put the board on the pins you may notice it leans on the other side. You can use the extra pin to prop up the opposite side through the mounting hole.

Since the spacing is close, I would recommend testing for shorts with your multi-meter.

Within the Arduino IDE you can use the wizard to install the TCS34725’s library. Search for TCS34725.
You can manually obtain the files here: Adafruit TCS34725 Library

It is relatively easy to get the circuit working. The complexity is introduced based on your application and fine tuning. Some of the concerns I have when working with this passive sensor are the speed and precision.

Ways to get around the limits of an individual sensor, assuming that’s where the bottle neck is occurring, is to increase the amount of sensors and/or microcontrollers in your project. Somes ways to accomplish this is with multiplexing or creative coding or using brute force. Some sensors behave better than others in groups. These sensors have a static I2C address, and that will cause issues unless you multiplex physically or through code.

For this color sensor, the exposure time affects the brightness read. This is controlled by a variable:  TCS34725_INTEGRATIONTIME_50MS.
50MS is the exposure time for the reading. All other things being the same, lowering the exposure time reduces the values or intensity of the RGBC readings.

If you want the current exposure time but twice the rate of readings, you may consider introducing a second sensor. You can keep them on pace by assigning them to the rise and fall of the clock cycle. I have not tested this for these chips though.  However the speed of these sensors would not work well with most speed dependent applications like video games and instruments.

Example Uses
Some uses for these color sensors are color testing output of color reprographics devices. In fact color testing in general would be a obvious strong point for this sensor, from paint jobs to adjusting light based on the current ambient level.

As far as tangible applications. One could design a device that requires users to insert objects into it. So inserting different colored key cards to be read by the scanner can trigger different events. The enclosure would minimize the amount of light bleed from the environment and the on board illuminator would allow for the color to be read inside.

Another tangible example would be to use the sensors as a “conductor”. What I mean by that is, if you have a translucent enclosure and want to have no visible wires between a button and an open section. You can have a grid of buttons with LEDs that correspond to a unique color for each. Rather than having 18+ wires for a 3×3 grid going through the enclosure. You can mount a color sensor on the opposite end and have it determine the button press based on the color of each one.

Strength and Weaknesses

  • Reads RGBC values individually
  • Filters IR light so the values read are closer to actual human sight
  • Relatively low power draw.  Scaling potential.
    • Active = (235 – 330μA)
    • Waiting = (65 μA)
    • Sleep = (2.5 – 10μA)


  • Small effective range. Up to 4 inches.
  • Relatively slow. Speed affects quality of reading.
  • Static I2C addresses.

Example Circuit Schematic

Microcontroller Code

Adafruit TCS34725 Library

Breakout Board Fabrication Print

Manufacturer’s Product Site – AMS

Splitter Glove – MIDI Controller (in progress)

The second project for Tangible Interactions was to create a MIDI controller.
I was in NIME last semester and created a final project which was a MIDI controller. The controls were very much intangible, which I partially addressed somewhat in its design. However the controller had a bit more to go to reach my final vision. I wanted to move beyond the limits of the technical flashlights and LEDs I initially used to play it.

My goal was to add tangible elements to the controller’s interface by using wearable lights and a physical control for the blinking and on/off functionality. The MIDI notes are triggered when light hits the sensor and off when the light level falls below a threshold value. By being able to control the blink rate with a potentiometer, I added a tangible element to an intangible interface.

There are more thing I could modify to increase the preciseness of the controller.  But I have to consider how I want it the experience to evolve.

Synthetic Architecture 02 – Anatomy of Space

I picked waiting as my simulation experience. As humans we are accustomed to things happening in our lifetime. However nature doesn’t conform to our notions of immediacy.

I decided to demonstrate waiting by creating a simulation of travelling through space. The scale would be extreme because the user will not have much interactions in the confined space. As a juxtaposition there will be astronomical events occurring at a great distance visible to the user.


Worlds On A Wire – HW Week 02

For this assignment I jumped into Steam with my Oculus Rift headset, which is a really great and new feature Valve decided to add. I think it’s akin to them adding native support for the Sony Dualshock 4 controller. They have been more inclusive with their platform over the last couple of years.

The experience in the Lab was great. Everything looked better then when I first tried it 2 years ago for some reason. As I mentioned in the previous post, being able to focus at home adds a lot to the immersive experience. I have to say even doing the Steam tutorial, I forgot how to “travel.” So I was stuck in the opening Lab scene for a while.., even after I teleported once. I didn’t realize it was not so rigid and I could teleport again in the same region to get closer to the orb.

As for the Unreal hero shots. I have been combining shapes and assets together. It did take me a while to figure out the importing assets workflow. I feel really restricted in the UE environment. The pain points for me is the navigation of the view port, the snapping of values and not being able to “model geometry” at a higher level that I’m used to. A part of it is learning their modeling tools more. But I have to say I am enjoying the UE interface.

For my scene I created a flat world with shapes and objects. I think it resembles some sort of ruins. The main character is the ice elemental guy.