Hand Substrate Interface Prototyping Continued!

This post marks part 3 (?) of the Hand Substrate Interface to be used to test for soil moisture.

To use the Hand-Substrate Interface, the user interacts with the glove in order to obtain the reading. A reading is only taken when the user wants to measure the soil moisture level, as opposed to obtaining a constant feed regardless of the hand placement. This will conserve battery life while out on a foray along with making sure that the data collected is accurate of the substrate condition. In order to understand this experience, the interaction between the glove and the user has been storyboarded to see this data collection process.

The storyboard is as follows: The user is on a foray and moves through the woods when they spy a lone mushroom specimen growing on the forest floor. She kneels down next to the mushroom to get a closer look, making note of the surroundings, along with making initial identifications of the mushroom. The user then pushes a button on the HSI in order to let it know that she needs to take a reading. Seeing the interface respond, she then takes the soil moisture reading with her hand, taking note of the reading. From this reading, she sees that the ground in this area is much more moist than an earlier area of the walk.  Looking around to get a idea of the level of the ground, the user wonders if this is because the ground is at a lower topographic height which would collect more water. She looks up to see the density of the foliage overhead and wonders if the increase in tree canopy has created a barrier for the soil moisture to evaporate, thus leading to an increase of mushrooms cropping up in the area. As the user ponders these environmental questions, this data captured from the reading which includes the moisture reading, GPS location and timestamp is then stored in the glove. After the walk, she will extract this data from the HSI and upload it to her local mycological club’s online database where she can compare walks this data to what other members have collected.

Since a reading is only taken when the user wants to get the soil moisture level as opposed to obtaining a constant feed, the interaction between the user and the glove needs to be designed in order for the user to obtain the reading as needed. An RGB LED interface is used on the glove in order to display the various states of the gloves to the user. A Neopixel 12 – LED ring is being utilized as this display because of its compact size and circular features. Less than 2 inches in diameter, the Neopixel is able to lie flat on the back of the hand or elsewhere on the arm. The circular nature of the LEDs also allows to function as a dial when getting a reading. This ring formation also gives way for placement of a momentary switch that the user can press to cycle through various states of the circuit to interact with the HSI. The use of RGB LEDs and programmability of the Neopixel ring gives flexibility in a range of designs and patterns that can be used to communicate these different states.

hsi_interfacehsi_interface 1

While the user is walking through the woods, the ring is turned off, with no LEDs on. Only when the user needs to take a reading will she press the switch located at the center of the ring. Upon being touched, the ring will light up, indicating that it is now turned on. When the user is ready to take a reading, they will press the button again, whereupon a pulsing light with yellow LEDs blinking off in succession four at a time which will indicate the countdown for a reading. With the 12 LEDs on the ring, this will indicate a three second countdown. While this is happening, the user will have time to place their fingers in the soil to ready themselves for a reading. After the blinking countdown, the ring of lights will now function as dial, showing the moisture of the soil based on how many blue lights are turned on going in a counter clockwise direction starting from the bottom center of the ring. This reading may fluctuate if the user is moving while taking the reading, but when it senses that there is no change after a few seconds, the reading is then stored, shown by a blinking green light. The user may now take an additional reading if desired, or continue on their foray. If the HSI senses no activity after a short period of time, the system will go to a battery conservation mode, indicated with the lights powering off.

This interaction is simple in indicating to the user what state it is in order to allow for ease of use. Although the reading does not give the user a numerical value, the dial will give the user a visual sense of the reading, which can be compared with other readings taken during the foray. This design choice was made in order to keep the user focused on the process of the walk, rather than have to compare the actual numbers. Rather than presenting the data points as hard values, the dial indicator for the soil moisture reading acts as a suggestion and reminder for the user to question and compare the readings at other points of the walk. The data containing the actual numerical values however, can be stored and analyzed at a later time. Through use, the user may also develop a different sense of reading and using the HSI as she gains experience with the interaction of getting a reading through her fingers.


In prototyping this interaction, a soft momentary switch was built to use with the Neopixel ring. The momentary switch is made using two pieces of neoprene with copper conductive fabric adhered on one side using fusible webbing. The button is designed to be the same size as the Neopixel ring so that the ring can sit ontop of the button in the glove design. On one of the neoprene pieces, another piece of neoprene cut in a ring is attached on top of the copper fabric to prevent the two copper fabric pieces from constantly touching. The neoprene pieces are then hand sewn together to form the button. Only when the button is pressed down upon, will the two conductive fabric pieces make contact and read as a button press. A pull up resistor is added the switch so that the reading of the switch will constantly be read as “high” until button is pressed. The code for the program was written in Arduino using parts of the Neopixel library and combined with a previously written program for a soil moisture sensor that was adapted from the GardenBot project.


IMG_7807 IMG_7810

In considering other materials that can be used to build the gloves, leather was utilized in the third iteration of the glove design. Though it can be difficult to sew, leather can be more comfortable against the skin, provide structure for the form of the glove, along with being a durable material. Although leather is a material commonly used for making gloves, the nature of wearing another’s skin to enabling the wearer’s ability to sense the environment is also a bit fascinating. Given that this project overall advocates for facilitating new relationships between humans and other nonhuman agents, it is noted that only waste scrap leather was used from this project that was obtained from a wholesale resale fabric store in the Fashion District in Los Angeles.



In this iteration, the finger pieces are semi-detached from the hand in the glove. The leather is used to create a cap that sits on the fingertips where the exposed traces sit to take a reading. A mesh fabric harvested from a laundry bag was used for the underside of the finger cap so that as the sensors are placed in the soil, the user is also able to feel the ground through the mesh fabric. To attach to the rest of the glove, traces are made out of conductive spandex zig-zagged stitch to a cotton jersey material to create connections from the finger caps. On the back of the hand, a circuit is laid out to for the soil moisture sensor, Neopixel ring and the momentary switch.


IMG_7816 IMG_7818

The glove will then be attached to a wristband that will house the microcontroller, battery and other electronic components to form the circuit. Spreading the circuit out along the hand onto the arm prevents any bulky areas from forming that might get in the way of wearability.  Splitting the circuit into different sections would also allow the circuit to be more accessible if there are any errors.  The creation of the wristband also provides a platform for the addition of other components and features in future iterations. For example, the current demo prototype does not include the GPS module or a soil temperature sensor. However, the wristband would allow for placement of more components that could be added to the Hand-Substrate Interface.

Needle Little Help

This was a collaborative prototype project with my classmate Zach.   It’s a pair of knitting needles that advance a stitch pattern when you tap the needle points together.


The needles have conductive points (made with copper tape) and are connected to wires that lead to this lil pouch.


The pouch contains an Adafruit Flora microcontroller, battery, and Bluetooth module which is what is sending information to the computer.


The computer program was written in Processing and used a serial connection via the Bluetooth module in the little bag.

Screen Shot 2015-11-01 at 7.21.27 PM

Some More Coding GIFs!


This uses some trigonometry to create the bubble effect.


This one uses the p5play and sound library. Super fun to use to create interactive pages. You can visit it here to play around with it- it uses the microphone on your computer to change the background color.

I’m using a program called LICEcap which is not the most appetizing name for an a computer program but it works great!

Salesforce Livefeed

Here’s some documentation of a recent demo.


Here is a lil break down of what’s happening:
The inflation of the building is based on an API that is crawling the web for data related to factors that some economists have speculated as factors that we are in a tech bubble. This includes the stock index of some of the unicorn companies in Silicon valley. Unicorn companies are startups that is valued over $1 billion. The fan is controlled by an Arduino microcontroller via Firmata using Processing.  The API was made using Kimono Labs, which was surprisingly easy to use!

The inflatable building is being recorded live via webcam and fed through another program in Processing that is chromakeying out the orange background (a rain poncho I had on hand) on top of an image from the livefeed that Salesforce has of their building built in San Francisco. So yeah basically you can watch the building grow before your eyes!

See this post if you want to see how the building was made!

Still very much a work in progress, but the system works to some degree!

I’m really interested in the staging and and live capture installation. It’s kind of like a puppet show, where you understand the clashes in reality (like when a puppet represents a human character) but you choose to believe in it to follow the narrative.

Here is a gif of the building rising… not advised viewing for the faint of heart.


Some Coding

I’ve been learning how to use P5js for some coding projects.  It’s really fun and forgiving and you can make some fun lil things.

Here is a random bird generator inspired by Darwin’s finches.


Here is a generative streetscape.


Here is a snake clock based off an illustration from The Little Prince.  Over the course of 24 hours, the snake will slowly digest the elephant..