Channels ▼
RSS

Web Development

SHIMMER and BioMOBIUS: A Health Research Platform


SHIMMER Firmware

Firmware provides the low-level capabilities within the SHIMMER platform to control the device functions. There are a number of lightweight operating systems that can be used to run on a sensor node, namely TinyOS [53], Contiki [54], Nano-RK [55], ERIKA [56], MANTIS [57], and SOS [58]. All SHIMMER firmware is primarily developed by using TinyOS and released into the public domain via SourceForge [59]. Firmware running on the sensor platform provides local processing of the sensed data, local storage of the data if required, and communications of these data to a higher-level application for advanced signal processing, display and data persistence.

TinyOS handles task scheduling, radio communication, time, I/O processing, etc. and has a very small footprint size. TinyOS is a lightweight, event-driven operating system designed for sensor network nodes that have very limited resources.

Real-time Data Streaming to BioMOBIUS

SHIMMER data can be reliably streamed at rates up to 500HZ in real-time to a BioMOBIUS application via the Bluetooth or 802.15.4 radios. To enhance the reliable communications in addition to standard Bluetooth link reliability, a packet format that supports various types of sensor data and provides enhanced reliability to the data transmission through packet sequence numbers and a cyclic redundancy check, was developed. The SHIMMMER firmware (implemented in TinyOS version 1) uses the frame format in Figure 5 for BioMOBIUS application integration.

Figure 5: SHIMMER frame format (Source: Intel Corporation)

The content of packets is unrestricted binary data. This can lead to problems with control characters like BOF (Beginning of Frame, hex byte '0xC0') or EOF (End of Frame, hex byte '0xC1') appearing in the packet header or payload and being interpreted as control characters. To avoid this issue, a byte stuffing technique based on ISO's asynchronous high-level data link control (HDLC) protocol is utilized.

Logging Data to MicroSD Card

Many biomedical applications require subjects to have complete and unhindered mobility. To achieve this, capability support for Secure Digital (SD) card logging has been developed. The SHIMMER platform utilizes a MicroSD card slot that supports up to two GBytes of flash memory. For ambulatory ECG monitoring at 500 Hz from three channels, more than 80 days of data can be stored in uncompressed format. There are a number of firmware programs available on SourceForge that facilitate recording of data to the SHIMMER platform's MicroSD card.

Power Management

A significant difference between most sensor nodes and standard computing platforms is the heavy focus on power management and consumption. A large number of applications require battery-powered operation for extended periods of time [60]. Computational capabilities have far outstripped battery technologies. SHIMMER battery optimizations have been implemented to satisfy various project requirements. These optimizations implemented in firmware have been mostly, but not exclusively, focused on lowering the duty cycle of the 802.15.4 radio. The goal is to minimize the on-time of all hardware subsystems on the sensor hardware platform. For example, each gyroscope on the SHIMMER gyroscope daughterboard requires a supply current of 9.5mA. With two dual-axis gyroscopes on the board there is a substantial 19mA requirement that can be saved when the gyroscopes are off. Other auxiliary battery features have been implemented for integration purposes, such as a low battery indication sent by the SHIMMER platform to a BioMOBIUS software application that prevents corrupted data from the accelerometer being received. The accelerometer outputs are ratio metric which means the output offset and sensitivity will scale linearly with applied supply voltage. Therefore, useful data can only be generated if the supply voltage remains constant. The low battery indication is a SHIMMER firmware feature that halts sampling of data when the supply voltage falls below +3V.

Programming/Flashing SHIMMER

An intuitive mechanism to support the download of firmware executable programs to SHIMMER sensors was highlighted as an important capability for biomedical researchers. The SHIMMER development kit includes an easy-to-use graphical application called the "SHIMMER Windows Bootstrap Loader" to allow users who do not have a TinyOS installation on their system to program SHIMMER sensors for their application needs.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 
Dr. Dobb's TV