Sensor Puck S ENSOR P U C K U SER ’ S G UIDE 1. Introduction The sensor puck demonstrates Silicon Laboratories optical sensor (Si1147-M01) RH and temperature sensor (Si7021) and low power MCU (EFM32G210 “Gecko”). The data is broadcast using a Bluetooth Low Energy (BLE) module and can be displayed on a mobile device (Apple iOS or Android) that supports the BLE protocol. By using broadcast mode, a connection does not have to be established, making it possible to display the data from several modules at the same time. 2. Evaluation Kit Description Figure 1. Silicon Labs Sensor Puck The evaluation kit consists of a sensor puck with a battery and the on/off switch in the off position. Install the battery if it is not installed. The + terminal of the battery faces away from the board towards the + terminal of the battery holder. Remove the pull tab separating the battery from the battery holder if needed. When the switch is turned on, the puck will automatically start taking and broadcasting data. For the puck itself, there is no installation required. Rev. 1.0 2/15 Copyright © 2015 by Silicon Laboratories Sensor Puck S en so r P u c k The data that is broadcast is generally displayed on a mobile device. To display the data the Silicon Labs Sensor Puck app must be installed on the mobile device. The application is available for no charge from the Apple App Store or the Google Play Store. (Search for Silicon Labs Sensor Puck.) 3. Operation Environmental mode Measures ambient light, UV index, ambient temperature, and ambient humidity. is the default mode of operation and the lowest power. In this mode of operation measurements are taken and broadcast (once per second). The LED flashes green once per measurement cycle. The battery current consumption in this mode is approximately 1.5 mA average, which means that a standard CR2032 battery will last about five days. The battery for this demo is not rechargeable so it must be replaced if it is depleted. This Biometric mode At the once per second interval for environmental monitoring, the puck checks for the presence of an object over the Si1147-M01 (under the acrylic cover). If an object is detected the puck will go into biometric mode and attempt to measure heart rate. Heart rate is measured by the reflection of IR light from an LED inside the Si1147-M01. The light is reflected from a finger-tip to measure the heart rate. In biometric mode the power consumption goes up to 7 mA, so battery life will decrease to about one day in this mode. In biometric mode, the LED will flash red while it is acquiring the heartbeat and then switches to continuous green once the heartbeat has been acquired. To avoid excessive power drain in case the puck is left on and covered with an object, the puck will exit biometric mode after 90 seconds. In this case, the object must be removed and a finger should be placed over the acrylic cover to start biometric monitoring again. The data from the puck is broadcast over a BLE “advertisement” packet. The mobile device that displays the data does not need to make a connection to the puck. For this reason, it possible that a single mobile device (i.e. a phone) can display data from multiple pucks. 2 Rev. 1.0 S en so r P u ck 4. Sensor Puck Applications There is a Sensor Puck app for iOS devices and another Sensor Puck app for Android devices. Both apps are named “Silicon Labs Sensor Puck”. The iOS Sensor Puck app can be installed from the Apple App Store. The iOS app runs on devices with iOS 7 and higher, and has Bluetooth 4.0 hardware. Silicon Labs has verified that the iOS app runs on iPhone 4S, 5, 5S, 6 and 6 Plus. The iOS app also runs on iPad 3 and 4. The Android Sensor Puck app can be installed from the Google Play Store. The Android app runs on devices with Android version 4.3 and higher, and has Bluetooth 4.0 hardware. Silicon Labs has verified that the Android app runs on the following devices: Samsung Galaxy S4, Samsung Galasy S5, Samsung Galaxy Tab 3, Motorola Moto E, Motorola Moto G, HTC Desire, HTC One Max, LG Nexus 5, LG G Flex, Sony Z1, Sony T2 Ultra, and Asus Nexus 7. When the puck is in environmental mode, the Silicon Labs Sensor Puck app displays the environmental screen: Figure 2. Android Environmental Screen Rev. 1.0 3 S en so r P u c k The environmental screen displays the environmental sensor measurements and the battery status. The puck name is displayed at the top of the screen. The temperature scale can be changed between Celsius and Fahrenheit by tapping the small C and F buttons. When the puck is in biometric mode, the Android Sensor Puck displays the biometric screen. Figure 3. Android Biometric Screen 4 Rev. 1.0 S en so r P u ck The iOS Sensor Puck app does not have a biometric screen. The iOS app displays the heart rate in the lower right corner of the environmental screen: Figure 4. iOS Environmental Screen Rev. 1.0 5 S en so r P u c k If there are several sensor pucks, you can use the navigation drawer to select a different puck. To open the navigation drawer, tap on the three-line icon in the upper left corner of the screen or swipe from the left edge of the screen. Figure 5. Navigation Drawer 6 Rev. 1.0 S en so r P u ck You can change the name of a puck by tapping on the edit icon to the right of the puck name. Figure 6. Puck Name Rev. 1.0 7 S en so r P u c k 5. Sensor Puck Hardware Description 5.1. Schematics Figure 7 shows the block diagram of the puck with debug header MCU, the sensors, and the Bluetooth module. Pulse RHT VMCU SDA SCL SDA SCL INT J2 2 4 6 8 10 03-Pulse 04-RHT MCU LEDs HEADER 2x5/SM INT 2 4 6 8 10 I2C0_SCL 1 3 5 7 9 I2C0_SDA 1 3 5 7 9 RED GREEN RED GREEN Debug pins SWO PF2 SWDIO PF1 SWCLK PF0 RESET TP2 GND 07-LEDs BLE BLE_RESET LEU0_TX LEU0_RX BLE_WAKE HOST_WAKE 02-MCU BLE_RESET BLE_TX BLE_RX BLE_WAKE HOST_WAKE 05-BLE Figure 7. Block Diagram Figure 8 shows the power section. The CR2032 battery is used to power most of the ICs. A boost converter is used to produce 4.1 V which is used to power the LED of the Si1147 so it can be driven at higher current than is possible with a coin cell battery. Debug SW1 SW_SLIDE_2POS 3 1 2 VMCU R11 47 high = 4.1V low = 5.0V L1 +5V 47uH BH1 0.1uF 3 2 4 5 3 1 20mm BATTERY HOLDER IN S0 S1 S2 LSW OUT STORE VGOOD OUT_ON U4 TS3310 8 10 9 6 C13 47uF GND EPAD POS 1 2 C12 47uF 7 11 POS NEG C11 Figure 8. Power Section Figure 9 shows the EFM32G210 “Gecko” MCU. The 24 MHz clock is only used in active periods. For lower power consumption, the internal 32 KHz R-C clock is used as much as possible. A special calibration routine is used to calibrate the 32 KHz clock against the 24 MHz crystal for accuracy in the UART communication speed while in low power mode. 8 Rev. 1.0 S en so r P u ck VMCU VMCU C6 0.1uF C4 0.1uF C3 0.1uF C2 0.1uF C5 0.1uF Connect together then connect tp power plane Connect together then connect tp power plane C7 10uF C8 1.0uF 9 HOST_WAKE 10 12 13 PB11 PB13 PB14 R10 4.99K R9 4.99K 32 31 30 29 27 26 25 24 23 22 19 18 17 16 R8 4.99K 21 DEC 20 4 14 28 VDD_DREG IOVDD IOVDD IOVDD NRST PE13 PE12 PE11 PE10 PF2 PF1 PF0 PC15 PC14 PC13 PD7 PD6 PD5 PD4 DBG_SWO DBG_SWDIO DBG_SWCLK SWO PF2 SWDIO PF1 SWCLK PF0 INT I2C0_SCL I2C0_SDA LEU0_RX LEU0_TX RX TX 0 RESET PA0 PA1 PA2 PC0 PC1 PB7 PB8 VSS/EPAD 1 2 3 5 6 7 8 BLE_RESET BLE_WAKE RED GREEN AVDD AVDD 15 11 VMCU U2 EFM32G210 U3 1 C9 10pF 2 XTAL1 GND 4 GND C10 10pF 3 XTAL2 24MHz Figure 9. EFM32G210 MCU Figure 10 shows the Si7021 RH and temperature sensor as well as the Si1147-M01 optical sensor. +5V VDD U6 Si7021 VMCU U5 3 SDA 2 1 LED2 VDD LED3 SCL GND SDA LED1 DNC LEDA 6 1 SCL SDA 6 SCL SDA NC NC 3 4 GND 4 SCL INT# 7 8 C17 0.1uF 9 2 5 INT 5 VMCU 10 2SWLFDO Sensor C16 0.1uF Figure 10. Sensors Figure 11 shows the BLE module and LEDs. Rev. 1.0 9 S en so r P u c k 10K C1 0.1uF R5 BCM20732i BLUETOOTH LE DNC DNC DNC DNC DNC DNC DNC DNC DNC DNC DNC DNC VMCU R13 2K D1 G GREEN R R14 2K RED 598-8410-207CF GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND GND 10K TPV5 BLE_RESET BLE_TX BLE_RX BLE_WAKE HOST_WAKE TPV6 Prgm UART_RX PRGM UART_TX SCL SDA EEPROMWP RSTb HOST UART_TX HOST UART_RX WAKE MODULE WAKE HOST RESET U1 BCM20732i 1 10 26 30 31 32 33 34 37 42 43 44 2 4 5 6 7 8 9 11 12 13 14 15 16 17 20 23 24 28 29 38 45 46 47 48 18 19 21 22 25 27 35 36 39 40 41 TPV1 TPV2 VBAT 3 R4 R3 10K VMCU Figure 11. BLE Module and LEDs 5.2. Bill of Materials Table 1. Sensor Puck BOM Quantity 10 Reference Value Voltage Tol Manufacturer Part Number BAT-HLD-001 Manufacturer 1 BH1 20 mm BATTERY HOLDER 1 C1 0.1 µF 16 V ±10% C0402X7R160104K Venkel 8 C2,C3,C4,C5,C6,C11 0.1 µF , C16,C17 10 V ±10% C0402X7R100104K Venkel 1 C7 10 µF 6.3 V ±20% C0603X5R6R3- Venkel 106M 1 C8 1.0 µF 6.3 V ±10% C0402X5R6R3- Venkel 105K 2 C9,C10 10 pF 50 V ±5% C0402C0G500- Venkel 100J 2 C12,C13 47 µF 6.3 V ±20% C0805X5R6R3- Venkel 476M 1 D1 598-8410-207CF 1 J1 Header 2x5 TH 1 L1 47 µH ±20% 3 R3,R4,R5 10 K ±1% CR0402-16W1002F Venkel 3 R8,R9,R10 4.99 K ±1% CR0402-16W4991F Venkel LINX TECHNOLOGIES INC. 598-8410-207CF Dialight M50-3500542 Rev. 1.0 Harwin NR 3012T 470M Taiyo Yuden S en so r P u ck Table 1. Sensor Puck BOM (Continued) Quantity Reference Value Voltage Tol Manufacturer Part Number Manufacturer 1 R11 47 ±1% CR0402-16W47R0F Venkel 2 R13,R14 2K ±1% CR0402-16W2001F Venkel 4 SF4,SF5,SF6,SF7 BUMPER SJ61A6 3M 1 SW1 SW_SLIDE_2POS NK236H Apem Inc. 4 TPV1,TPV2,TPV5,TP TPV V6 N/A N/A 2 TP1,TP2 RED 151-207-RC Kobiconn 1 U1 BCM20732i 3.3 V BCM20732i iDevices 1 U2 EFM32G210 3.3 V 1 U3 24 MHz 1 U4 TS3310 1 U5 Optical Sensor Si1147-M01-GM SiLabs 1 U6 Si7021 Si7021-A10-GM1 SiLabs EFM32G210F12 SiLabs 8-QFN32 FA-238 24.0000MB 5V Epson TS3310ITD1022 SiLabs 5.3. Layout Figure 12 shows the layout of the puck. The Bluetooth module has a keep and area and is placed on the backside to avoid antenna detuning. The inner power and ground layers are not shown. Figure 12. Silkscreen, Front and Back Metal Rev. 1.0 11 S en so r P u c k 6. Sensor Puck Firmware No firmware download is necessary to use the puck as it comes preprogrammed with firmware, but the capability to view and modify the firmware source code is available in Simplicity Studio. It is possible to download, debug, and even modify this code within Simplicity Studio, however, to connect the puck to Studio you will need two additional pieces of hardware. First, a standard 9-pin Arm Cortex debug cable is required (not supplied). This cable can be ordered from Segger (see the link below). http://segger.com/jlink-adapters-9pin-cortexm.html Secondly, an EFM32 development kit with a 20-pin debug out header, such as the Zero Gecko STK, is required (also not supplied). The cable connects the 20-pin debug out header on the EFM32 development kit to the 9-pin debug header on the puck (J1). Steps to program the firmware of the Sensor Puck: Install and launch the latest version of Simplicity Studio (www.silabs.com/simplicity). Connect the 20-pin header of the programming/debug cable to the EFM32 development kit. Connect the 9-pin header of the programming debug cable to the Sensor Puck. Slide Sensor Puck power switch to ‘ON’. Select DBG mode on the power switch of the EFM32 development kit. Connect a USB cable from PC to EFM32 Development kit J-Link connector. If the EFM32 development kit is not connected automatically, select ‘Detect Connected Device’. Once the kit is recognized, select the tile ‘Kit Manager’ shown below to configure the development kit to debug out mode. Figure 13. Simplicity Studio Launch Screen 12 Rev. 1.0 S en so r P u ck Next, set the debug mode to ‘Out’ in the dialog shown below. Figure 14. Kit Manager Dialog To use the development kit subsequently without the puck, it is necessary to revert this setting before disconnecting the puck. To open the source code in Simplicity Studio, launch the Software Examples wizard by clicking on the Software Examples tile (see Figure 13). Then select Sensor_Puck as the kit. Click ‘Next’ and select the sensor_puck source code. This will load the source code in the Silicon Labs IDE where it can then be viewed, edited, compiled, and downloaded from within Simplicity Studio. The details of doing this are beyond the scope of this document. Note: Sensor Puck is planned to be supported in V3.0 of Simplicity Studio. Prior to V3.0, the source code will be provided at www.silabs.com/sensor-puck. To load the project into Simplicity Studio, use the steps in the readme document in this link instead of the Software Examples wizard. Rev. 1.0 13 Smart. Connected. Energy-Friendly. Products Quality Support and Community www.silabs.com/products www.silabs.com/quality community.silabs.com Disclaimer Silicon Laboratories intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Laboratories products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Laboratories reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Laboratories shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Laboratories. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Laboratories products are not designed or authorized for military applications. Silicon Laboratories products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc.® , Silicon Laboratories®, Silicon Labs®, SiLabs® and the Silicon Labs logo®, Bluegiga®, Bluegiga Logo®, Clockbuilder®, CMEMS®, DSPLL®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, ISOmodem®, Precision32®, ProSLIC®, Simplicity Studio®, SiPHY®, Telegesis, the Telegesis Logo®, USBXpress® and others are trademarks or registered trademarks of Silicon Laboratories Inc. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com