Shimmer

From TinyOS Wiki
Revision as of 04:11, 28 May 2010 by SteveAyer (talk | contribs)
Jump to: navigation, search

Shimmer Overview

Shimmer - Sensing Health with Intelligence, Modularity, Mobility, and Experimental Reusability

Error creating thumbnail: File missing
SHIMMER with sensor boards broken out.
Error creating thumbnail: File missing
SHIMMER mote in case.

Shimmer is a small wireless sensor platform designed to support wearable applications. It provides an extremely extensible platform for real-time kinematic motion and physiological sensing. It features a large storage capacity and low-power standards based wireless communication technologies which facilitate wearable or wireless sensing in both connected and disconnected modes.

Shimmer provides a compact platform for long-term wearable or wireless sensing using proven system building blocks. The design is realized using conventional design and assembly technology to ensure repeatability and economy. Shimmer was designed to help create an ecosystem of health-related technologies that provide a highly mobile capability and can easily integrate and interact with existing technology and infrastructure. The platform has now expanded to include a range of applications from Healtcare and Sports Science, to Ambient and Environmental sensing solutions.

Links

Platform Features

  • Compact Form Factor, Light & Wearable (Weight: 15 Grams, Volume: 50mm x 25mm x 12.5mm)
  • Support for Bluetooth and 802.15.4 wireless communications (WML-C46A, CC2420)
  • Offline Data Capture - Micro SD Card Storage - 2 Gigabytes
  • Open Platform, driven by TinyOS
  • Internal and external connectors for expansion
  • Includes simple serial command interface for Bluetooth
  • Integrated TCP/IP stack for 802.15.4
  • Integrated 3-axis MEMs accelerometer with selectable range
  • Integrated tilt/vibration sensor
  • Integrated Li-ion battery mgmt.
  • Supported by BioMOBIUS graphical software platform
  • Compatible with Labview with a DSC Module available

Available as add-on extension boards and accessories

  • Kinematics sensing (3 axis Gyroscope)
  • Advanced Kinematics sensing (3 axis Gyroscope + 3 axis magnetic sensing)
  • 3 Lead Micro-power electrocardiograph (ECG)
SHIMMER with ECG sensor board.
  • One channel electromyogram (EMG)
  • One channel Galvanic Skin Response (GSR)
  • Passive Infra Red (PIR)
  • Breakout board to thru-holes for rapid prototyping
  • Span Platform - provides a USB plug-in 802.15.4 adapter
  • USB programming/charging dock
  • 6-Shimmer Charger
  • ECG/EMG Leads
  • Wearable Straps

Applications

The Shimmer platform is being utilized for a variety of applications. These include:

  • Limb motion analysis of Parkinson's Disease and stroke patients - see Mercury and CodeBlue for details
  • Gait Analysis
  • Sleep Studies
  • Cognitive Awareness
  • Activities of Daily Living Studies
  • Vital Signs Monitoring
  • Chronic Disease Management

A sample Shimmer application for data collection can be found in the TinyOS 1.x contrib/harvard/spaulding directory (and more examples in the contrib/handhelds/ folder).

Availability

  • Shimmers are now commercially available through Realtime Ltd. Please email "info at shimmer-research dot com" for further information.
  • SHIMMER PricingGuide July 2008


Technical Bulletins

TinyOS Support

There is TinyOS support for both tinyos-1.x and tinyos-2.x versions. As of now (May 2008), the Shimmer platform will be part of the core tinyos-2.x distribution. The sections below describe how to install the shimmer platform for both tinyos versions

TinyOS 2.x Support

You can obtain the platform code from the main tinyos-2.x CVS tree. (Note, shimmer was not part of the last official release 2.0.2). If you already have a tinyos-2.x CVS tree, simply go to the root and do a cvs update. Otherwise, the instructions below tell you how to check out the latest tinyos-2.x code from CVS as an anonymous user.

Type the following commands in your shell prompt. When prompted for password, just hit Enter

cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/tinyos login
cvs -z3 -d:pserver:anonymous@cvs.sf.net:/cvsroot/tinyos co tinyos-2.x

After the checkout completes, you should be able to compile and install Shimmer applications just like with any standard platform. For example, to compile and install Blink, do the following:

cd $TOSROOT/apps/Blink
make shimmer install bsl,X

where X is your serial port (e.g. 3 on Windows, assuming it's on COM4; /dev/ttyUSB0 on Linux).

You may also want to test the radio. Do this by compiling and installing $TOSROOT/apps/RadioCountToLeds on TWO shimmers (for sending and receiving radio messages).

TinyOS 1.x Support

To make the installation simpler, I have bundled the platform specific code (some of which was written at Intel) and wrote a script to automate the installation. In most instances, running the script should be enough. If you want the latest tinyos-1.x platform code under development, you can get it from the tinyos-1.x contrib. Specifically tinyos-1.x/contrib/handhelds.

For additional TinyOS 1.x documentation, please visit Shimmer Getting Started Guide.

Download and install the Shimmer platform code

  • Download and decompress the Shimmer platform code download
  • Move this directory where you want the Shimmer platform code to reside.
  • Install it by running "makeShimmerPlatform.pl". For example:
tar -zxf shimmerPlatform.tar.gz
cd shimmerPlatform
./makeShimmerPlatform.pl
  • The script "makeShimmerPlatform.pl" performs the following changes.
    • Adds the shimmer platform in "$TOSROOT/tos/platform/"
      • Creates a symbolic link to "shimmer" platform code
    • Adds the Accelerometer and SD drivers to "$TOSROOT/tos/lib/"
      • Creates a symbolic link to "SD"
      • Creates a symbolic link to "MMA7260Q_Accel"
    • Updates the TinyOS make in "$TOSROOT/tools/make/"
      • Replaces "all.target" to include "shimmer" at the end of the line "PLATFORMS ?= mica mica2 ..."
      • Creates a symbolic link to "shimmer.target". The file also defines "MSP_BSL", which tells the tinyos make where to find the Shimmer bootstrap loader.
      • Creates a symbolic link to the "shimmer" directory containing the SHIMMER bootstrap loader.


Migrating from TelosB/TMote Sky to Shimmer

This section describes the major similarities and differences between TelosB/TMote Sky and Shimmer.

Major Similarities

  • Same processor, MSP430 (version F1611)
  • Same radio chip, CC2420

Major Differences

  • Smaller form factor
  • Optional Bluetooth Radio
  • MicroSD flash storage (currently up to 2GB available)
  • Built in 3-axis accelerometer (Freescale MMA7260Q, with selectable gain 1.5/2/4/6G)
  • Extra led (orange)
  • Support for expansion board via Hirose DF12 20 pin connector
  • Li-Ion battery management
  • Programming over USB via programming board

Major Pin Differences

  • USART1 used by CC2420 and Bluetooth Radios (On TelosB USART1 is used for USB UART/RS232 Tx/Rx)
  • USART0 used by MicroSD and external expansion (On TelosB USART1 is shared by CC2420, ST Flash, IDC expansion connector)
  • RADIO_SFD (timed version) is wired to port P1.2, which is also the TimerA capture/compare 1 (CC1A) output. NOTE: This means that you can't use the MSP430ADC12 component for sampling because it requires explicit use of the main TimerA = Shimmer Overview =