As sensors continue to become cheaper, smaller, and easier to use they are increasing likely to find their way into more and more consumer devices like laptops and cell phones. In order to investigate what could be done with such sensors we developed our Multi-modal Sensor Board (MSB) and Location Sensor Board (LSB) to experiment with various sensors.
Multi-Modal Sensor Board (MSB)
- USB Client
- USB Host
- Intel Quick Capture Camera interface
- 3 high speed UARTs
We chose sensors based off of their relative ease of use (mostly digital interface sensors), size, support circuitry size, and power consumption. A few sensors that were rejected were gyros (power), gas sensors (board area), PIR sensors (board area), and color sensors (interface requirements).
Another board called the LSB (Location Sensor Board) or ISB (Inertial Sensor Board) provides 3-axis gyros and 3-axis magnetometers along with a number of capabilities like a camera interface and LCD display interface.
Seven sensors were selected and integrated into the sensors board:
|LIS3L02DS/LIS3LV02DQ||2G/6G (digitally selectable, on rev C boards) 3-axis Accelerometer from ST Microelectronics|
|SFH-3410||High Frequency visible light sensor from Osram Optoelectronics|
|TSL2550||Digital light sensor capable of measuring an ambient visible/IR light and IR light|
|MS5534||Digital pressure/temperature sensor|
|HMC6532||2-axis digital magnetic compass (on earlier versions)|
|WM-61A||Analog microphone capable of sampling sound at 44.2kHz (though in practice 16kHz with the other sensors running)|
|SHT11/SHT15||Digital temperature and relative humidity sensor|
Note: For the 2nd generation MSB’s the digital compass was not used due to its high cost (~$50) and the fact that most people ended up wearing the board with this sensor mounted vertically (since it’s a 2-axis part it was mounted in the worst possible position - 180 degrees - and was unreliable).
MSB Version 1
The first generation MSB was designed to attach to the Intel Mote (iMote1) a wireless sensor node designed by a research group* at Intel in Santa Clara, CA. This mote was designed off of a single chip Bluetooth solution provided by Zeevo Inc.** that combined a generic ARM7 with a Bluetooth baseband.
The idea behind using the Zeevo chip was that a majority of the cycles on the 12MHz ARM7 core were available to do other things like various wireless sensor node tasks. TinyOS was ported to the Zeevo and work was underway to create a powerful sensor node for the wireless sensor community. Since we wanted our sensor board to have the capabilities to communicate with portable devices like cell phones Bluetooth provided a very attractive attribute and we designed our sensor board around the iMote1.
*See http://www.intel.com/research/exploratory/motes.htm for more information
**Zeevo was bought by Broadcom in early 2005
MSB Version 2
The iMote2 followed the iMote1 and incorporated and Intel* XScale PXA271 processor along with a Chipcon CC2420 802.15.4 (Zigbee**) radio. The XScale processor offers a great deal more computation power than the Zeevo processor did, ~400MHz for the Xscale vs. 12MHz-48MHz for the Zeevo, along with 32MB of non-volatile storage, and 32MB of SRAM in a single package. In addition to the computation power advantages the iMote2 also offers a number of I/O advantages with many more GPIOs, and hardware capabilities such as:
Originally the iMote2 was to be pin-compatible with the iMote1; however, as the design progressed it became clear that this wasn’t practical given the vastly different I/O capabilities. While the iMote2 had symmetric top/bottom connectors the iMote2 adopted an asymmetric design with a basic set of connectors for low cost sensor boards and a high density advanced connector for more complex designs. While some I/O lines are on both the basic and advanced connectors a number of devices are only available on one side.
This change in board shape and connector layout meant that a new MSB had to be designed to interface to the iMote2. This created the first revision MSB2, which was just a modified version of the MSB1 with a different board shape. Since the iMote2 lacked Bluetooth radio capabilities and we still wanted to be able to communicate with commodity consume devices another board was added which had a Bluetooth radio on it. In this case we selected the Cambridge Silicon Radio BlueCore 3 baseband. In addition to the Bluetooth radio we also added a full size SD/MMC connector onto the back of the board for SD/MMC storage cards. This created a three board stack for our system:
- Bluetooth and MMC/SD
Eventually another re-design of the MSB was done to integrate the sensors, Bluetooth, and storage (in the form of a mini-SD slot) into a single board creating the second revision MSB2 that we’re currently using.
*Intel's PXA line was bought by Marvell in 2006.
**While 802.15.4 radios are often called Zigbee devices; Zigbee is actually just the upper level stack while 802.15.4 defines the lower physical layers. The iMote2 has an 802.15.4 radio and actually uses the Berkeley radio stack (for compatibility with the Telos motes) instead of Zigbee
Location Sensor Board (LSB)
The LSB was designed to complement the MSB to allow for inertial navigation and other advanced capabilities. In addition to the 3-axis gyros and 3-axis magnetometers, the LSB features a USB port, CMOS camera connector, an LCD port, and a serial pass-through port.
There are two types of sensors on the board:
|PNI 11096A||3-axis magnetometer ASIC. Uses three seperate SEN-S sensors.|
|ADIS16100 x 3||Gyroscope|
P1 -- LCD connector
|2||LCD_BLEN (connected to pin 34 of the large connector)|
|3||LCD_RESET (connected to pin 35 of the large connector)|
|4||LCD_SDATA (connected to SSPTxD)|
|5||LCD_SFRM (connected to SSPFRM)|
|6||LCD_SCLK (connect to SSPCLK)|
P2 -- JTAG connector
|5||-- KEY --|
P3 -- Serial pass-through connector
|6||ExtGPS_6 / GPS_EN|
P2 -- PWM output connector
P2 -- JTAG connector
|5||-- KEY --|