The Fire Board sensor platform

The Fire Board is a collection of five sensors mounted on a printed circuit board, manufactured by Crossbow Technology, Inc., and marketed under the product identification MTS420CA.

Top view of Fire Board Bottom view of Fire Board

The sensors mounted on the Fire Board are:

Sensirion SHT11 temperature and humidity sensor.

Temperature and humidity data are collected using the Sensirion SHT11.

SHT11 Temperature and humidity sensor

The Sensirion SHT11 sensor is manufactured by:

  Sensirion AG
  Eggbuehlstrasse 14
  CH-8052 Zurich
  Switzerland
  Telephone +41 (0)1 306 40 00
  Fax +41 (0)1 306 40 30
  info@sensirion.com
  http://www.sensirion.com
  
Spec sheet is located at: @url http://www.sensirion.com/en/sensors/humidity/sensors_devices/sensorSHT11.htm

  Characteristics of the sensor, from the web page given above:
  
  -  	2 sensors for relative humidity & temperature
  - 	Precise dewpoint calculation possible
  - 	Measurement range: 0-100% RH
  - 	Absolute RH accuracy: +/- 3.5% RH
  - 	Temp. accuracy: +/- 0.5°C @ 25 °C
  - 	Calibrated & digital output (2-wire interface)
  - 	Fast response time < 4 sec.
  - 	Low power consumption (typ. 30 µW)
  - 	Low cost
  
  From the PDF spec sheet, the combined sensor is 14 bit ADC.
 
  ===== Relative humidity =====
  Range: 0 to 100 % RH
  Accuracy: +- 3.5 % RH (20 to 80% RH)
  Response time: =< 4 sec.
  Reproducibility: +- 0.1 % RH
  Resolution: 0.03 % RH
  Operating temperature: -40 to 120 C
  
  ===== Temperature =====
  Range: -40 to 120 C
  Accuracy: +- 0.5 C @ 25 C, +- 0.9 C (0 to -40 C)
  Response time: =< 20 sec.
  Reproducibility: +- 0.1 C
  Resolution: 0.01 C
   
  ===== Electrical =====
  Power consumption: 
    30 uW @5V, 12 bit, 2 sec. sampling
    1  uW @2.4V, 8 bit, 2 min. sampling
  
  Supply Voltage range: 2.4 to 5.5 V 
     
  Measurement input current: 0.5 mA
  Standby input current: 0.3 uA
    

Intersema MS5534AP barometric pressure sensor.

    * Integrated pressure sensor
    * Pressure range 300-1100 mbar
    * 15 Bit ADC
    * 6 coefficients for software calibration stored on-chip
    * 3-wire serial interface
    * 1 system clock line (32.768 kHz)
    * Low voltage / low power
    

Intersema MS5534AP barometric pressure sensor

LeadTek 9546 GPS unit.

The LeadTek 9546 GPS unit has 12 channels "All-In-View" satellite tracking with cold/warm/hot start times of 45/38/8 Seconds (respectively) a reacquisition time of 0.1 seconds and supports standard NMEA-0183 and SiRF binary protocols The hardware consists of SiRFstarII chipset with embedded ARM7TDMI, an external antenna jack, 20 pin connector, and protective metal cover sheild, measuring 25.4 x 24.1 x 6.9 mm.

The GPS unit is relatively expensive to operate. From a cold start, it requires 65 mA of power, then runs until the GPS reading is stabilized. Since the FireBug application is statically deployed, the GPS unit need only run until an accurate location fix has been obtained, at which point the GPS is powered off.

LeadTek 9546 GPS unit

ADXL 202AE accelerometer.

Taos TSL250RD light intensity sensor.

The TSL250RD is a low power, light-to-voltage sensor manufactured by Texas Advanced Optoelectronic Solutions, Inc. The sensor combines a photodiode with a transimpedance amplifier on a monolithic IC measuring 1mm square. Output voltage is directly proportional to the light intensity captured by the photodiode.

TSL250RD Light to voltage sensor

Summary of sensor characteristics

SHT11 TSL250RD LeadTek 9546 Intersema ADXL 202AE
Supply voltage 2.4 - 5.5 2.7 - 5.5 3.3 +/- 5% 2.2 - 3.6 3.0 - 5.5
Power consumption ??? 1.7 mA ??? ??? ???
Measurement range ??? 1.5 - 2.5 V ??? 300 - 1100 mbar +/- 2 g
Accuracy ??? ??? ??? ??? ???
Resolution ??? ??? ??? ??? ???
Response time 4 sec. 260 us (voltage rise time) 45 sec. (cold) 1 sec. ???
Operating temperature ??? 0 - 70 C ??? ??? -40 - +85 C

Control switches

The MTS420CA has two ADG715 switches mounted in parallel on the I$^2$C bus. Switch 0 is mounted on U7 and controls the power to the sensors. Switch 1 is on U9 and controls I/O functionality. These switches are controlled by the MicaWBSwitch component, which uses a parameterized interface to control which switch is active. The switches may be operated independently of each other, allowing the application to control the power to each sensor to reduce power consumption.

Collecting Sensor Data From Fire Board

The Data Structure for the communication data packet is defined in SensorMsg.h.

SensorMsg.h
           typedef struct SensorMsg {
           uint16_t  MoteID;           //TOS_LOCAL_ADDR
           uint16_t  HumidityData;     
           uint16_t  TempData;
           }SensorMsg;

           enum {
             AM_SENSORMSG = 128
           };
	    

The mote attached with Fire Board sends data packet in AM type through the RF. The GenericBase is the receiver of these packets. We use SensorPacket---a Java application program to resolve the temperature readout from the packet, and do the mathmatics coversion from the readout to the actual temperature.

SensorPacket.java
      public String toString(byte [] packet) {
      String s = "Message  \n";
		double tempC,tempF;
		long temp1;
		temp1=(packet[9]>=0)?packet[9]:(0-packet[9]);
		tempC= (packet[10]*256+temp1)*0.0098-38.4;
		tempF=(packet[10]*256+temp1)*0.0176-37.1;
		s += "  [MoteID="+Long.toString(packet[6])+Long.toString(packet[5])+ "]\n";
		s += "  [TempData="+Long.toString(packet[10])+ Long.toString(temp1)+"]";
		s += "  [="+Long.toString((long)tempC)+" Celsius Degree]";
		s += "  [="+Long.toString((long)tempF)+" Fahrenheit Degree]\n";
		return s;
		}
	    
The actual temperature can be achieved by calibration with the following formula.
             Temperature= d1+d2*SO
             Celsius    : d1=-40, d2=0.01
             Fahrenheit : d1=-40, d2=0.018
             SO         : Sensor Output
	    

The SensorPacket result will be like :

          7e 00 0a 7d 06 03 00 99 99 f9 17 ed 55 0e 8b c9 98 89 b2 90 4e 40 08 88 98 8e cc
          0d cc b5 ba 99 98 0a 01 00
          Message 
		  [MoteID=03]
		  [TempData=237]  [=19 Celsius Degree]  [=66 Fahrenheit Degree]
		  7e 00 0a 7d 06 03 00 99 99 fa 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
		  00 00 00 00 00 00 00 01 00
		  Message 
		    [MoteID=03]
		    [TempData=236]  [=19 Celsius Degree]  [=66 Fahrenheit Degree]
		    7e 00 0a 7d 06 03 00 99 99 f9 17 ed 55 0e 8b c9 98 89 b2 90 4e 40 08 88 98 8e cc
		    0d cc b5 ba 99 98 0a 01 00
		    Message 
		      [MoteID=03]
		      [TempData=237]  [=19 Celsius Degree]  [=66 Fahrenheit Degree]
	      
The final result checked for accuracy with a Raytek Raynger ST infrared thermometer.

Last updated: $Date: 2004/01/06 16:29:47 $ by $Author: doolin $.