Most everyday electrical and electromechanical objects emit small amounts of electromagnetic (EM) noise during regular operation. Imagine if your iphone were aware of any device you touched and could identify that object, or where you were located in your house based on this technology? This also makes an excellent pipe, stud and hidden household electromagnetic object detector!
There is an example of this technology published by Disney Research, although it requires a small SDR(software defined radio) receiver, also similar is the Touche sensor which has another referencing instructable. This instructable shows a simpler, cheaper way to achieve the same results as the Emsense, using an app for the iPhone, a resister and a single cable. You can also map the electric fields in your house with the app, as they change throughout different rooms, but change most when touching different metallic objects.
The app also has a very basic classifier implemented so that you can train it to recognize the different objects you touch, and then send the recognized objects anywhere on your network via OSC. Check out the example in the youtube videos!
Step 1: Step 1: Components Needed
You are going to make a cable as per the paper description. You will need a TRRS cable and a 4.7K resistor, and some exposed metal at the end. I include also a picture of the cable that I made.
Then, you should download the app from the app store. Here is a link:
Step 2: Step 2: Touch Some Objects and See If You Can Differentiate Them Using the App Classifier
To train objects using the app, or just walk around the house looking at the different electromagnetic signatures in different areas!
Step 3: Step 3: Sending the Recognized Symbols Through to Your Computer Via OSC and Processing
Ok, you've got the basics but perhaps you'd like to automate some lights in your house, or anything else as you walk past? No problem, OSC is implemented within the app. It works to send messages via wifi to any network enabled device on your network.
Find the IP Address of your phone in the settings and put that IP address into the Processing sketch. Pick a port, I picked 3000 because nothing else was using it. Then, find the IP address of the device you are trying to connect to(found in the Network setting in System Preferences) and enter it into the phone OSC settings page shown here, as well as the port you have selected. Select Set it! and run the processing sketch.
You should see the classifications of objects streaming through to your laptop.
Step 4: Step 4: Ideas for Different Applications
Here are some ideas for different ideas of this touch signature recognizing technology:
- Authentification: A smartwatch with this technique enabled could allow users to authenticate across devices and applications, potentially without passwords. For example, to log in into a laptop, a user can simply touch the trackpad. Because the smartwatch knows that a trackpad is being touched, and the trackpad knows that it is being touched, a handshake mediated by the cloud could proceed. For added security, a confirmation button can be displayed on the owner’s smartwatch.
- User Differentiation: When the user touches the touchpad, they can be differentiated and automatically logged in. Each person has there own EM signature.
- Object Specific Applications: When a user handles objects with known EM signatures, it can launch object specific applications. For example, our electric toothbrush example launched a timer application.
- A sound base stud detector or pipe detector. Works as is! Walk around your apartment and try it. Pipes are amazing(antennas).
- Automated house: when a user walks through different rooms in their house, the EM signature can determine where the user is in the room enabling lights, heating and other appliances to be adjusted to suit.
- Smart Lock: Similar to August and other smart locks, certain EM signatures of individuals enable the unlocking of a front door.
- Alternate Reality Games: Ingress style game with objects, a game that visually impaired people can also participate in.
I'm open to questions and collaborations. The current classifier is ridiculously simple and could no doubt be improved upon for greater accuracy. Let me know if you'd like to help.