1Acquire Parts Needed
Step 1 Get Parts Needed
You can find all the necessary parts on eBay. Here are a few links;
SPDT Slide Switch - Through-Hole 3 Pin - Only needed if non-software mode switch is desired.
You can download the code from the "files" section in this project page. There's also a live version of the prototype Optimote Player App if you don't want to run it locally from the files. Here's the link:
2Solder it Up!
Solder the circuit according to this diagram:
In case this is hard to read, the gist of it is:
Arduino A0 to Sensor Signal out
Arduino 5V to Sensor VCC 5Vin
Arduino Ground to Sensor Ground
Switch Center Pin (Throw) to Arduino D2
Switch Pin (any one pole) to Arduino Ground
Note: if you don't know how to solder, check out this video guide: YouTube / MakeZine - How To Solder
3Make the Casing
Using a Rotary tool cutting disc, cut slots in the case to add ports for the USB connection. Using a cone-shaped grinding cone bit, cut a hole for the optical part of the sensor. This needs to be in direct contact with skin when sensing.
Wrap the whole thing in tape or paint it to make it look nicer, and hot glue the electronics in place.
4Flash the Code
Open up the Arduino IDE. If you haven't downloaded it yet, you can get it from arduino.cc.
Select Arduino/Genuino Micro under "boards".
Plug your board in and pick the corresponding COM port under "ports".
Open the sketch ending in "dot INO" from the "files" section of this project page, and flash to the Arduino by clicking upload.
Open up the folder you downloaded the files to and open the html file in a text editor such as notepad. Rename it to "index.html" and save it.
Open the index.html in your web browser (Chrome tested) and plug in the Optimote. Load your media file and it will begin playing.
You can program peak climactic modes using the GUI for the device to automatically jump to when heart rate has steadily decreased (calmest or bored, THRILL mode) or in CALM mode, you can set it to skip past this section when heart rate spikes as a calm boost. Alternatively, it can jump to the most relaxing section of the media if reprogrammed to do so with that media.
You can export biodata by clicking the download button on the player app. It includes a column called "pred" which is the device's predicted heart rate. Optimote is working well when pred is close to bpm on average.
Live version of prototype Optimote Player Web App in case you don't want to run it locally: Optimote Player Web App