Fequently Asked Questions

Top Level Questions:

How do I start using a Shimmer device?
What is the simplest way to solve a Shimmer-related problem?
What do I need to install on my PC to use my Shimmer device?
How do I start writing software for the Shimmer device?
Shimmer is compatible with Labview ?

Hardware Questions:

What is the power consumption of the Shimmer?
What is the battery capacity?
Does it have a power save mode and what is the battery life in this case?
Can I connect my own larger battery if I want to extend the battery life?
Can I develop my own daughter card for Shimmer?
Can I connect two daughter cards at the same time to a single Shimmer?
What is the range of the Bluetooth Radio?
What is the range of the 802.15.4 radio?
What is the memory on the TI MSP430?
How many ADC channels are on the device?
Ihave a unique requirement, can Shimmer Research design & develop custom hardware / daughter cards?
Where is Shimmer manufactured?

Software Questions

I have an application idea, can Shimmer Research design & develop my application to run on Shimmer?
Can I develop my own application to run on the device?
Is TinyOS the only alternative for writing Shimmer firmware?
Should I use TinyOS 1.x or 2.0 with my Shimmer device?
Why don’t the timers provide precise timing frequencies?
What should I do if my TinyOS program compiles correctly but I get an error when the firmware is written to the Shimmer?
How do I get my data on the SD-card or from the SD-card to a PC ?
What radio protocols are available on Shimmer?
Can I use 802.15.4 and Bluetooth at the same time?

If you have any further support questions, you can contact us via email: ’support at shimmer-research.com’.

_______________________________________________________________

Top Level Questions:

How do I start using a Shimmer device?

You should first read the Shimmer User Manual carefully. Registered users can download the manual from the documentation section of our website. You’ll also find it on the Live Distribution in the NON-LIVE/DOCS folder. At minimum, chapter one will acquaint you with the device capabilities and basics of use, charging, and programming.

Probably the most gratifying first step, after reading the manual’s Introduction, is to program the Shimmer 2 with Blink. An explanation of how to do this begins in section 1.5.

Back to top

What is the simplest way to solve a Shimmer-related problem?

If you’re in a hurry, this FAQ may have a short answer. The User Manual is the best reference for usage issues. If you have an application development issue, you should post your question to the Shimmer mailing list at:

https://www.eecs.harvard.edu/mailman/listinfo/shimmer-users

You should subscribe to this list in any event, as it is where important Shimmer-related announcements are made.

If you have a BioMOBIUS-related problem, please visit:

http://biomobius.trilcentre.org/index.php?option=com_simplefaq&Itemid=21

Of course, if you’re not sure what’s causing trouble, you may contact ‘support at shimmer-research.com’

Back to top

What do I need to install on my PC to use my Shimmer device?

Developers: Before installing development tools, you should first decide which environment you want to use for this work. The Bootable Live Distribution provides a Linux development environment but all changes are lost when you shutdown (it does not have non-volatile storage). There is also a VMware virtual machine image to allow you to run a pre-configured Linux image in tandem with your current OS. The alternative to these is a native Linux installation. Please consult chapter four of the User Manual for details.

End users: The BSL430 application included on the Live Distribution allows you to load applications on your Shimmer device. BSL430 runs under Windows.

You may also install additional PC application that communicate with your Shimmer device.

Back to top

How do I start writing software for the Shimmer device?

The quickest path to developing applications on the Shimmer is to leverage the extensive amount of software already in open source release using TinyOS; this software is on the LiveDistribution, and is actively maintained and extended by Shimmer Research. It is all open source, meaning that the source code is available free of charge and may be used and modified at the developer’s whim.

The LiveDistribution has extensive documentation of the TinyOS toolchain under NON-LIVE/DOCS, as well as documents describing Shimmer’s microcontroller, the TI MSP430.

The easiest way to get acquainted with this software environment is to explore the source code and program the Shimmer with the applications in the source code tree provided, which comes from the main TinyOS repository on Sourceforge. There are two versions of TinyOS extant, 1.x and 2.x, and Shimmer is supported under both. As a frame of reference, the TinyOS-1.x code is the oldest, for that reason, the most extensive, but is under active development along with version 2.x. Shimmer platform code in version 1.x is found under the contrib/handhelds directory; version 2.x code is not-platform dependent, as Shimmer is now a mainstream TinyOS platform.

Shimmer is compatible with Labview ?

Yes. Is available a Labview DSC module that can be used to develop applications. More info can found on the module page.

Back to top

________________________________________________________________________

Hardware Questions:

What is the power consumption of the Shimmer?

Power consumption is driven by an application’s computational and data requirements as well as the daughter board configuration. The power management features of Shimmer allow developers to approach the optimum value for said requirements. For example:

  • < 100 uA: Sleeping
  • 3mA: Logging data to files on the MicroSD card
  • 2-20mA: Streaming data over the 802.15.4 radio using the TCP/IP stack (range reflects data rate)
  • >20mA: Streaming data over the Bluetooth radio
Back to top

What is the battery capacity?

Shimmer has a 280 mAh lithium-ion rechargeable battery.

Back to top

Does it have a power save mode and what is the battery life in this case?

Shimmer 2 has a new dual-mode button that acts as both a reset button and a power switch. A quick button-press resets Shimmer, but holding the button down for seven seconds powers Shimmer off completely, so battery life equals the battery’s nascent shelf life. When Shimmer is off, a quick button-press turns it back on.

Back to top

Can I connect my own larger battery if I want to extend the battery life?

Yes, if you have the skills and equipment to do so, as long as you choose a compatible battery with under-voltage, over-voltage protection and over discharge-current protection built-in.

Back to top

Can I develop my own daughter card for Shimmer?

Yes, if you have the skills and resources necessary to design and manufacture your own hardware. Connection data is listed in the manual.

Back to top

Can I connect two daughter cards at the same time to a single Shimmer?

Shimmer may be configured with one internal and one external daughter card.

Back to top

What is the range of the Bluetooth Radio?

Indoors, typically 10 meters. Performance will vary based on the orientation of both sides of the radio link.

Back to top

What is the range of the 802.15.4 radio?

Indoors, typically 8-10 meters. Performance will vary based on the orientation of both sides of the radio link.

Back to top

What is the memory on the TI MSP430?

The MSP430F1611 has 48 Kbytes of flash ROM and 10 Kbytes or RAM.

Back to top

How many ADC channels are on the device?

The MSP430F1611 has eight ADC channels; three are directly connected to the on-board accelerometer.

Back to top

I have a unique requirement, can Shimmer Research design & develop custom hardware / daughter cards?

Yes.

Back to top

Where is Shimmer manufactured?

EU / Ireland.

Back to top

______________________________________________________________________

Software Questions:

I have an application idea, can Shimmer Research design & develop my application to run on Shimmer?

Yes.

Back to top

Can I develop my own application to run on the device?

Shimmer platform and application support are written in TinyOS and released as open source in the TinyOS repository at Sourceforge. Two versions of TinyOS are actively maintained. In TinyOS-1.x, our codebase resides under contrib/handhelds; in TinyOS-2.x, platform support is in the main tree, with sample applications in tinyos-2.x-contrib/shimmer.
TinyOS is written in nesC, which is a dialect of C.

Back to top

Is TinyOS the only alternative for writing Shimmer firmware?

No, TinyOS is just one development environment; the choice is yours.

Back to top

Should I use TinyOS 1.x or 2.0 with my Shimmer device?

The original platform and application development took place under TinyOS-1.x, and still does, but strictly under the contrib/handhelds branch. This branch predates the Shimmer platforms and contains a wealth of sophisticated software for MSP430-based devices. Shimmer is now an officially-supported device under TinyOS-2.x, so it will enjoy the benefits of the latest development efforts in the community. In short: your choice!

Back to top

Why don’t the timers provide precise timing frequencies?

TinyOS timers’ interval argument is not actually counted in milliseconds, but 1/1024 seconds, because it is based upon crystal-based hardware timers. So, an attempt to have a software timer trigger an event at 50Hz – by setting the interval at 20 – will actually produce a frequency of 51.2Hz.

Sample Rate Actual Sample Rate

10 : 10.24

50 : 51.2

100 : 102.4

125 : 128

200 : 204.8

250 : 256

500 : 512

1000 : 1024

One more note about timer precision: Shimmer’s clock crystal drifts approximately 22 parts-per-million, so long-term timings will drift about +/- 1.32 ms every minute, or about 79 ms per hour.

Back to top

What should I do if my TinyOS program compiles correctly but I get an error when the firmware is written to the Shimmer?

First check to see if the Shimmer is on; a quick press of the power button will do this. If that’s not the trouble, confirm that the compile command has the correct serial ports for the dock by removing the Shimmer from the dock; unplugging the dock’s cable; noting the results doing ls -l /dev/ttyUSB* at a shell prompt; then plugging the dock back in and repeating the ‘ls -l’ command. The compilation command should point to the first of the two dock ports. See the User Manual for a complete explanation.

Back to top

How do I get my data on the SD-card or from the SD-card to a PC ?

Data written into files on a FAT-formatted card will be visible on your PC when you dock a running Shimmer; this is a new feature of Shimmer 2. TinyOS-1.x – and, by late fall, 2009, TinyOS-2.x – has application support for FAT.

Back to top

What radio protocols are available on Shimmer?

Shimmer has two radios: the Bluetooth module supports the Serial Port Protocol. The 802.15.4 radio implements its IEEE physical and link layers; higher-level open-standard network protocols, including several mesh, ad-hoc, and IP protocols (v4 and v6), are implemented in software between the two versions of TinyOS.

Back to top

Can I use 802.15.4 and Bluetooth at the same time?

No, but a carefully-written application can use both in tandem with careful orchestrated mutually-exclusive startup and shutdown routines.

Back to top