Things used in this project

Hardware components

Story

This wearable helps you harness hypnagogia, a mental state bordering on sleep, which generates creativity and new connections.

Switch on this little device, close your eyes, and drift... Once every five minutes, a gentle vibration in your hand reminds you to come back to the waking world and record your findings. This is useful for relaxing; for sparking creativity; for problem-solving... Think of it as a gentle tether for free association.

The gadget is centered on a TinyLily, with a haptic vibration motor and a 3V battery connected to power and ground – with a toggle switch spliced into the power wire.

My haptic motor has two terminals on the end of a little orange ribbon cable (which you can see on the left side of the picture below). I soldered one directly to the GND pin on the Lily, and the other to pin 13 with a teeny bit of wire. (The tutorial by the Open Source Hardware Group explains that 13 is the left center solder pad in the middle of the board.)

1 / 2 • CR2032 coin cell

Since there are two sets of power and ground pins, I could solder on the battery holder without disrupting the motor. (This was pulled from a cool "Life Gem" circuit, built by my friend Gabe Smedresman for his Logan's Run ARG last year. Recycling FTW!)

I globbed hot glue over the exposed solder joints, for insulation and structural support.

The code is, rather obviously, just a quick mod to the Blink example function.

The enclosure is still in progress – I'm modifying one I made for the Hypnos pendant, and it's not quite the right size yet. :)

Custom parts and enclosures

Shell enclosure – in progress

This one fits the electronics, but is too tall/wide. Also, need to figure out a way to keep it closed. I want to cast it in metal, which will require insulation but should provide enough weight to close the shell.

Code

HapticLily.ino

C/C++

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the Uno and Leonardo, it is attached to digital pin 13. If you're unsure what pin the on-board LED is connected to on your Arduino model, check the documentation at http://arduino.cc This example code is in the public domain. modified 8 May 2014 by Scott Fitzgerald */// the setup function runs once when you press reset or power the boardvoidsetup(){// initialize digital pin 13 as an output.pinMode(13,OUTPUT);}// the loop function runs over and over again forevervoidloop(){digitalWrite(3,HIGH);// turn the LED on (HIGH is the voltage level)delay(250);// wait for .25 secondsdigitalWrite(3,LOW);// turn the LED off by making the voltage LOWdelay(300000);// wait for 5 minutes}