prototype development

Revision 02B: HRMI Hack

On testing revision 02 we found a restriction with the Polar HRMI. Although it can communicate through USB, Logic-level serial and I2C interfaces. It only sends a calculated heart BPM. This eliminates the desirable requirement for sensing individual pulses. So a simple hack was implemented. The HRMI contains a small status LED that pulses to the incoming transmission from the Polar Wearlink. By placing a LDR (Light Dependant Resistor) over the LED, we were able to monitor individual pulses through the voltage fluctuations of the LDR.

HRMI Hack diagram:

From the LDR data were then able to write a function in the Java App to re-calculate the BPM. This function was considerably simpler/smaller than the programming needed to set up and implement the advised 12C serial communication. In turn helping the phones processor.

Posted in Uncategorized | Leave a comment

prototype development

Revision 02: IOIO Android

We explored possible solutions to the revision 01 disadvantages. A GPS module would add the live location. And a GSM module could provide a method for live streaming and system manipulation. But both bring size disadvantages. The modules are pretty bulky, and are a steer away from the compact size of the Nano.

So we looked at replacing the control unit with an android IOIO board, and replacing the IR Heart rate detection with a wireless polar ECG system.

The IOIO board is a new product from sparkfun.com.

http://www.sparkfun.com/tutorials/280

The IOIO (pronounced “yo-yo”) is a board specially designed to work with your Android device (OS versions 1.5 and greater). The board provides extensive and robust connectivity to an Android device via a USB connection. The IOIO is fully controllable from within an Android application, using a simple and intuitive Java API.

The IOIO board contains a single MCU that acts as a USB host and interprets commands from an Android app. In addition, the IOIO can interact with peripheral devices in the same way as most MCUs. Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART control can all be used with the IOIO. Code to control these interfaces is written in the same way as you write an Android app with the help of a simple to use app-level library.

IOIO Front:

IOIO Back:

The IOIO board contains the following components:

  • USB connector (type A) female connector: Used to connect to the Android device.
  • GND pins (9 pins): Ground connection.
  • VIN pins (3 pins): Used for power supply to the board. Voltage between 5V-15V should be supplied.
  • 5V pins (3 pins): Normally used as 5V output when the board is powered from VIN. Can be used as 5V input in case VIN is not connected.
  • 3.3V pins (3 pins): 3.3V output.
  • I/O pins (48 pins, numbered 1-48): General purpose I/O pins. Some have special functions,
  • power LED: Lights when the IOIO is getting power.
  • stat LED: Lights briefly during power-up and then becomes under application control.
  • mclr pin: Not normally used. Its purpose is for programming new bootloader firmware on the IOIO board.
  • Charge current trimmer (CHG): Adjusts the amount of charge current supplied on the VBUS line of the USB to the Android device. Turning in the (+) direction increases charge current.

Pins:

  • A/D: pin can be used as analog input
  • I2C: pin can be used as I²C: DAx – data pin if I²C module number x, CLx – clock pin if I²C module number x
  • PPSi: pin can be used as input for remappable peripehreals (input capture, UART, SPI)
  • PPSo: pin can be used as output for remappable peripehreals (UART, SPI, comparator output)
  • 5V: pin is 5V tolerant: can be used as 5V input or 5V output in open-drain mode
  • Comp: pin can be used as comparator input number as specified
  • Prog: pin can be used for ICSP: use Vpp and either C1/D1, C2/D2 or C3/D3 which are clock and data, respectively

When you connect the IOIO board to an android phone via USB, the phone see’s the IOIO board as an external USB Device (computer / laptop). This allows for data transfer between the devices, but also comes with a disadvantage. The android phone is expecting to be charged by the external device (computer / laptop)?. So the IOIO board needs to pass a tickle charge to the phone. This will eventually drain the battery.

 

Polar Wireless ECG System:

 

To overcome the noise problem from the IR Heart rate detection. We decided to replace the IR Heart rate device with a polar wireless ECG system. Polar is a manufacturer of advanced training computers and heart rate monitoring equipment. Their monitors are typically used by athletes, who are interested in monitoring their heart rate to gain maximum efficiency from their training. So noise pollution to the data from physical activity should be reduced.

Polar HR monitors usually comprise of two elements: a chest strap transmitter and a wrist receiver or mobile phone. The chest strap continually transmits your heart rate information to the monitor’s receiver.

Polar wearlink transmitter:

 

The wearlink transmitter consists of an electrode strap and a connector.

It can be washed in the washing machine, and the batteries are user-replaceable. The coding of the Chest Strap increases the security of the transmission. Aside from the heart rate signal, a coding is transmitted that prevents interference from other heart rate monitors.

To receive the heart rate transmission data, we used a heart rate monitor interface (HRMI) from sparkfun.com.

http://www.sparkfun.com/products/8661

Polar Heart Rate Interface:

The Heart Rate Monitor Interface (HRMI) is a peripheral device that converts the ECG (magnetic wave) signal from the wearlink transmitter into heart rate data. It implements an algorithm for computing the average heart rate, even with noisy or intermittent data from the transmitter.

Features:

  • Multiple interfaces: USB, Logic-level serial and I2C
  • Dual heart rate processing algorithms: averaged and raw
  • Uses the RMCM01 Polar OEM receiver
  • Compatible with coded and non-coded Polar transmitters including T31, T31C, T61C and Wearlink®
  • 32-entry heart rate data history buffer
  • Four 8-bit ADC inputs
  • Up to a 5 channel digital input/output utility port
  • Simple command/response interface
  • Programmable power-on default operation
  • Only works with one transmitter (HRM) in range

Applications:

  • Custom exercise equipment
  • Portable heart rate monitoring devices
  • Bio-feedback devices
  • Heart beat aware body-worn electronics

The HRMI communicates with the IOIO board through I2C serial communication.

The diagram below shows the updated Bio-Sensing System. Which includes the above replacements, and the integration of an android 3G mobile phone. The phone will add the GPS location/tracking, and 3G data communication.

IOIO Android Bio-Sensing System:

 

IOIO Android Bio-Sensing System:

Advantages:
1. Live streaming of bio data.
2. Capabilities for real-time system manipulation.
2. GPS location tracking.
3. Reduction in BPM noise from physical activity.
4. The phones onboard sensors (digital compass, accelerometers, NFC etc) extend the system capabilities for future development.

Disadvantages:

1. The ioio needs to provide a trickle charge to the phone. Which will contribute towards the draining of the battery, and the overall operation time of the device.
2. Although the system can receive a voltage input of between 5-15v, it cannot receive power from a single LiPo battery. This again adds restrictions to the overall operation time, and the physical size of the device.

Posted in Uncategorized | Leave a comment

prototype development

Finally, after what feels like a thousand iteration cycles. I can post the participatory design development for the bio-sensing prototype.

From the artist’s participation in the initial stages of exploration and innovation, we proposed the bio-sensing prototype would consist of a:

1.     Processing unit
2.     Sensors (Heart rate, Breathing rate, Body temperature, Galvanic skin response).
3.     Power source.
4.     Communication module.

Revision 01: Arduino Nano

The initial candidate for the processing unit was an Arduino Microcontroller. Arduino is an open-source electronics prototyping platform. The Microcontrollers come in a various sizes to suit a variety of applications. The Arduino Duemilanove was initially used for connection exploration. The Duemilanove is a medium sized board in the Arduino family. It can be extended with a variety of shields and daughter boards. Add a sensor shield and you have a reliable easy to use platform for exploring connectivity layouts.

Once a suitable connection configuration was achieved. The Arduino Duemilanove was replaced with a Arduino Nano. The Nano is a small compact board, which would help keep the overall size of the bio-sensing device to a minimum.

 

Nano Bio-sensing connection diagram (Part A):

Sensors:

Heart Rate:
The most popular method of sensing a heart pulse is through infra red (IR) detection and comparison. A probe, containing an IR LED and IR Photodetector is attached to the users finger or ear lobe. As the light from the IR LED pass’s through the body tissues to the IR Photodetector, it is absorbed by blood and soft tissue. The IR LED & Phototransistor observe the waveform at the phototransistor output.

Breathing Rate:
Stretch sensors can be made from various materials such as conductive fabric, thread and elastic. The above sensor from Merlin Electronics is very sensitive to force, and embedded within a thin rubber band. The rubber enclosing insulates the sensor from any electrical skin interference (GSR) and vice versa.

Body Temperature:
For the above revision a small temperature sensor will be placed directly on the skin. The above sensor can respond to temperature stimulation with great accuracy, and should be effective in sensing small body temperature fluctuations.

Galvanic Skin Response:
The most common method of detecting Galvanic Skin Response is by placing 2 electrically charged electrodes on separate fingers. An electrical current is passed through the electrodes and across the skin. As the skin sweats, the electrical resistance is measured. In the above revision 2 medical grade electrodes with conductive gel are placed on the body to measure the sweat resistant.

Communication interface:
Short range radio. Offers a low power consumption communication band between the nano microcontroller and external actuators. Because of the short radio range, the communication interface can also be used as a proximity detector.

The Nano microcontroller processes the sensor data. If pre-programmed conditions are met, the microcontroller can communicate with an array of external actuators through the short-range radio. For example: You can only open a door if your heart rate is below 80bpm. The Nano microcontroller calculates the heart bpm from the IR sensor. If the heart rate is below 80bpm, the Nano microcontroller transmits through short-range radio an open command to an electronic lock.

 

Arduino Bio-Sensing System (Part B)

 

The Above connection diagram uses a 4 way relay module (switches 4 actuators). If the Arduino Duemilanove was replaced by an Arduino mega, the number of relays could be extended to 54.

 

Arduino Bio-Sensing System (Parts A+B)

Arduino Bio-Sensing System:

Advantages:
1. Arduino is a stable, expandable platform. With a wealth of supporting documentation and support.
2. Small size
3. Low power consumption. Can run on a single 3.6v LiPo Battery.

Disadvantages:

1. The system has similarities to an active RFID system. The users are pre-programmed active RFID tags transmitting to strategically placed receivers. This closed system does not allow for dynamic real-time manipulation. The ability to change the rules so to speak.
2. IR Heart rate detection is prone to external noise if you are moving.
3. Position of user is only obtained at actuator nodes.

 

Revision 02: Android ioio
(arriving shortly)

Posted in Uncategorized | Leave a comment

Mindwave update

I’ve been able to get useful figures from the Mindwave headset using Processing. The most reliable are when the user is relaxed with their eyes closed. Later this week I will try to get it to trigger an email.

Posted in Uncategorized | Tagged , | Leave a comment

Mindwave headset

the mindwave has arrived. it fits over the head with a clip that attaches to the ear and a bar that goes across the forehead – it’s not the most comfortable of things to wear. it uses bluetooth and even when playing with the games that come with it, it does have a tendency to drop connection. i’ve written a small processing script that reads it and i’ve been able to get numbers out but it still needs further investigation.

mindwave headset

Posted in Uncategorized | Tagged | Leave a comment

Updated Datalab Project schedule

Already completed:

Planning + R&D

Prototype activator (output) build Hannah

To be completed by Aug 8th

Mediation server, logic editor – First versions finished and working

Prototype sensing (input) build – Lee has GPS, temperature and respiration on the way. Heart Sensor hardware only arrived 17th August.

Group meeting 17th August – Babbage Building rm 221

To be completed by Aug 22nd

Packaging development

Prototype activator (output) build (slingshot)

Prototype activator (output) build (Katy)

To be completed by Aug 29th

Test dummy data supplied to Katy and Simon E

Testing / handover of prototype sensing (input)

Testing / handover of prototype activator (output)

Publication Design meeting 1st September – (time + venue tbc)

(Tom, Mike, Dean, Dawn)

Framework and design for publication agreed

Content requirements from each group member established.

Group meeting 5th September, 11amPlymouth venue tbc

Video Interviews 5th September – after group meeting

(Chris S – video Interview 7th September, 11am)

To be completed by Sept 12th

All content/imagery/logos etc submitted to Dean and Tom

All web links complete if used

To be completed by Sept 22nd

Publication proofed (final amendments made). Digital version complete (pdf)

To be completed by Oct 3rd

Testing and evaluation documentation (extended date)

DIY publication print deadline

Thursday 13th October – (time and venue tbc)

Dissemination event to be held in Plymouth.

 

Posted in Uncategorized | Leave a comment

Development Update – Data Injector

The data injector component of the server is just about complete. This allows a user to manually submit bio data to the server. This may be because suitable sensors are not available, or just for testing and experimentation purposes. We have kept the terminology as abstract as possible in order to encompass all possible uses. Webpage style is minimal to keep everything as lightweight and cross-platform as possible:

http://79.170.44.128/i-dat.org/datalab/mediator/store-data.php

Example usage:

The entity known as: Simon
Has a data item called: heartrate
Which now has the value: 80

Upon submission, you will get back a bunch of text about trigger checking – this is just for debugging purposes and will be switched off later (unless people find it useful)

Posted in Uncategorized | Leave a comment

Development Update – Trigger Editor

The trigger editor component of the server is just about complete. Using this we can quickly and easily add and alter triggers which cause events to occur (like switching on lights or publishing status updates to facebook). The aim is to provide a mechanism that anyone can use to experiment with the triggers during the exploration phase of the project.

Each trigger has:

  • Conditions: when to fire the trigger
  • Trigger Actions: what to do when the conditions are met
  • Detrigger Actions: what to do when the conditions are no longer being met

A couple of example triggers and the trigger editor can be found here:

http://79.170.44.128/i-dat.org/datalab/mediator/list-triggers.php

Posted in Uncategorized | Leave a comment

Katy Brief 1.0 update

Update to my first post:

The temporal qualities of ‘the digital’ are often associated with speed and continual updates. What I find particularly interesting about translating bio-rhythms into data, is that some bodily processes refuse to engage with this constant need for speed.

The bio-cycle that takes 28 days, compared to a human pulse – is on a scale of 1: 2,419, 200

In translating the data streams into tangible, textural data, I am also interested in slowing this pace down… designing an application that offers possible ways to reflect the slower rhythms and invite participants to relax

With this is mind, the visual scores become knitting patterns – as a timeline of data generated by 20 minutes of the body’s processes, is translated into a scarf, knotted, twisted and looped,  its form determined by its knitter’s biodata

So whilst these bio-sensors are being built – I’ll be considering how to translate this bio-data into stitches, so that it can be mapped in three dimensional tactility ..

Posted in Uncategorized | Leave a comment

How we want to proceed.

Hi gang. We have each drawn up a spec/brief for the technology that we wish to use in our projects. There is a good deal of common ground between them but rather than rationalise the briefs into one system, we though it best if i-DAT looks at them and comes back with a proposal on how they would deliver technology prototypes that meet these briefs. In principle we would be prepared to have the entire dev budget spent with i-DAT (although Katy is considering other options) but we want a clearer picture of what you will do and when.
Could you provide:
  • Top level architectures for each discrete system prototype.
  • Deliverables.
  • Timescales.
  • Cost breakdown.
  • Confirmation that we will receive the source code for the various parts of the prototype.
Also there has been mentioned another pot of money for further development. Can you explain what this is for and how the above prototypes will be deployed in this further stage?
Thanks.
Simon, Katy & Hannah.
Posted in Uncategorized | Leave a comment