DIGITAL MEDIA TOOLS, SYSTEMS & INSTALLATIONS

 

Bodyvision

Overview

Overview

NOTE: We do not present full details here out of respect for the proprietary nature of this client's work, so our description here, while accurate, is purposely vague enough to protect the intellectual property involved.

This project involved the creation of an electronic controller for a biofeedback device, and a user interface through which the operator would control it. The device is intended to help the user learn to regulate an aspect of their body, beyond their default subconscious control. It consists of a set of vibration devices providing tactile feedback based on the real-time information from a biometric sensor. The user interface allowed the operator to adjust the configuration of the feedback, and also provided real-time visual feedback for the user of the device, during operation.

The Hardware Controller

The hardware of this biofeedback device is driven by an Arduino microcontroller. The micro-controller code is written in Arduino/C++ and is responsible for the following core tasks:
  • Capturing, error-correcting, and interpreting a real-time biometric sensor's data feed'
  • Real-time calibration of the UI based on the current users biometric readings
  • Capturing configuration data in real-time from the user-interface
  • Generating precise tactile biofeedback based on the current configuration and readings

MAX/Msp

The UI is implemented in MAX/Msproj. The MAX/Msp development environment was ideal in this case for a number of reasons -- because it was already owned by the client, because it allowed for the rapid-prototyping of several varying approaches in arriving at the final deliverable, for its robust support of real-time data processing, and for the accessibility of its visual language to a non, or at least, less-technical audience.

The User Interface

The UI operated in real-time, enabling the user to understand and better control their current readings, and allow the operator to tune them for increased effectiveness. It was responsible for the following core tasks:
  • Communicate configuration settings to the hardware controller
  • Store and recall presets for different users, and settings
  • Provide status readouts and controls for the operator to control and calibrate the hardware interface
  • Provide a real-time visual display of the tactile feedback for the user to observe, while they are feeling.
  • Provide a real-time display of the biometric sensor's input, for the operator to use in further adjustments