Proven Technology and Expertise

Mature, Robust, Reliable - Shimmer’s market ready technology tailored to your solution

Firmware

Shimmer Firmware – Programming Wireless Sensor Networks

At Shimmer we provide a range of stock firmware solutions for use on the Shimmer platform. Users are also free to develop their own firmware solution should they wish to craft custom firmware for their end use or application. Shimmer firmware solutions have been developed to ensure Shimmer users benefit from some of the most efficient and effective wireless sensing solution available, availing of low power communications and a flexible, highly configurable framework.

Stock Firmware Solutions for Shimmer

BtStream and SDLog are complete firmware solutions provided by Shimmer to support Shimmer Instrument Drivers and Consensys software. They are intended to help new users to become familiar with the Shimmer platform and to be a starting point for users who are developing their own custom firmware solutions.

LogAndStream

LogAndStream firmware is a complete data recording solution which merges features from our previous Shimmer3 firmware releases.

The LogAndStream firmware facilitates logging of data from a Shimmer3 to the on-board SD card while also providing the ability to simultaneously stream data wireless connection to a Bluetooth-enabled PC.

The firmware allows for full user configuration of the Shimmer3 using a configuration file stored on the SD card, or over Bluetooth using the provided Consensys software application and is also fully compatible with the Shimmer Instrument Drivers.

BtStream

BtStream is a general purpose, fully configurable application to be used with the Shimmer platform. As the name suggests, a Shimmer unit programmed with BtStream firmware will stream data via a Bluetooth connection to a PC, mobile or other Bluetooth-enabled device.

BtStream firmware is fully compatible with the Shimmer Instrument Drivers and Multi-Shimmer Sync software applications. The source code is also openly available for any able user who may wish to modify or customise it to their own needs or, indeed, to use it as the basis for a new firmware application

SD Log

SD Log Firmware is a firmware image which allows logging of data from a Shimmer to the on-board SD card. The firmware allows full user configuration of the Shimmer via a configuration file, stored on the SD card. Many useful features, such as time synchronisation among multiple Shimmer units, start/stop logging on one or more devices by a single button press, and user-defined naming of devices, are enabled by this firmware image.

SD Log Firmware is fully compatible with ShimmerLog and Multi-Shimmer Sync for SD software applications.

Quick Start Environment

The Shimmer Consensys application is a Windows based application that allows the Shimmer unit to be programmed with the pre-compiled firmware images when docked in the Shimmer Programming Dock or Consensys Base.

Programming Language and Custom Firmware Development

The programming language for the Shimmer3 is C. It is recommended that design, implementation, testing and validation of Shimmer embedded software (firmware) be done in Code Composer Studio™ from Texas Instruments. Alternatively, any compiler that supports the MSP430F5437A can be used (e.g. IAR embedded workbench, Rowley Crossworks, MSP430GCC).

Texas Instruments provide training material helping new users to get up-to-speed with Code Composer Studio on their Wiki: http://processors.wiki.ti.com/index.php/Category:CCS_Training.

All Shimmer source code is hosted in a Git repository. Git is an open source version control system that facilitates software configuration management.

Shimmer application code examples for Code Composer Studio™ are actively maintained at https://github.com/ShimmerResearch/shimmer3.

Other embeddedOS, firmware, and programming languages

The Shimmer platform is highly open and configurable, as a result users can port other embedded Operating Systems to the Shimmer platform for the own application development. Similarly, users can choose to program in their preferred programming language depending on their own programming and application experience and expertise.