UG122: SLWSTK6101A User's Guide Blue Gecko Bluetooth® Smart Module Wireless Starter Kit User's Guide KIT FEATURES The SLWSTK6101A is an excellent starting point to get familiar with the BGM111 Bluetooth Smart Module. • Supplied with BGM111 Blue Gecko Bluetooth Smart Module Radio Board BRD4300A • Ethernet and USB connectivity The Wireless Starter Kit Mainboard contains sensors and peripherals demonstrating some of the BGM111's many capabilities. The kit provides all necessary tools for developing a Silicon Labs wireless application. • SEGGER J-Link on-board debugger • Debug Multiplexer supporting external hardware as well as radio board • Silicon Labs' Si7021 Relative Humidity and Temperature sensor • Ultra low power 128x128 pixel Memory LCD • LEDs / Push buttons / Reset button • 20-pin 2.54 mm header for expansion boards • Breakout pads for direct access to all radio I/O pins • Power sources include USB and CR2032 coin cell holder. EXTENSION BOARD FEATURES • Accelerometer • Buttons and LEDs • Joystick • I2C expansion ORDERING INFO • SLWSTK6101A silabs.com | Smart. Connected. Energy-friendly. RADIO BOARD FEATURES • BGM111 Blue Gecko Bluetooth Smart Module with 256 kB Flash and 32 kB RAM. (P/N BGM111-A) • Integrated high performance chip antenna • Transmit power up to 8 dBm • CPU core 32-bit ARM Cortex-M4 SOFTWARE SUPPORT • • • • Blue Gecko Bluetooth Smart Software Blue Gecko Bluetooth Smart SDK Example applications for the kit iOS and Android applications Rev. 0.1 UG122: SLWSTK6101A User's Guide Introduction 1. Introduction 1.1 Description The idea behind the SLWSTK6101A is to provide a complete development platform for Silicon Labs' BGM111 Blue Gecko Bluetooth Smart Modules. The core of the SLWSTK6101A is the Wireless Starter Kit Mainboard which features an on-board J-Link debugger, a virtual COM port interface, an LCD display and a humidity/temperature sensor and through holes to access all the pins of the Blue Gecko Bluetooth Smart Modules. The WSTK Mainboard is paired with an Blue Gecko BGM111 Bluetooth® Smart Module Radio Board that plugs directly into the mainboard. The radio board includes the BGM111 with a built-in high performance chip antenna. WSTK6101A Wireless Starter Kit is also supplied with an expansion board (BRD8006A Add-on Board) that can be connected to the WSTK mainboard expansion header. The expansion board contains additional peripherals such as an accelerometer, buttons, LEDs, joystick and an I2C expansion slot. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 1 UG122: SLWSTK6101A User's Guide Introduction 1.2 Kit Contents The following items are contained in the Blue Gecko Wireless Starter Kit box: • 1x BRD4001A Wireless Starter Kit Mainboard • 1x BRD4300A Blue Gecko BGM111 Bluetooth® Smart Module Radio Board • 1x BRD8006A Blue Gecko Module Kit Add-on Board • 1x CR2032 Lithium battery • 1x USB Type A <-> USB Mini-B cables Please refer to separate documentation for the included radio boards for detailed specifications and RF performance figures. The kit contents are shown in Figure 1.1 SLWSTK6101A Kit Contents on page 2 below. Figure 1.1. SLWSTK6101A Kit Contents 1.3 Getting Started Detailed instructions for how to get started with your new Blue Gecko Wireless Starter Kit can be found on the Silicon Labs Simplicity web pages: http://www.silabs.com/bluetooth-getstarted silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 2 UG122: SLWSTK6101A User's Guide Kit Hardware Layout 2. Kit Hardware Layout The layout of the Blue Gecko Bluetooth® Smart Module Wireless Starter Kit is shown below. Figure 2.1. SLWSTK6101A hardware layout silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 3 UG122: SLWSTK6101A User's Guide Kit Block Diagram 3. Kit Block Diagram An overview of the Blue Gecko Bluetooth® Smart Module Wireless Starter Kit is shown in the figure below. Figure 3.1. SLWSTK6101A Block Diagram silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 4 UG122: SLWSTK6101A User's Guide Connectors 4. Connectors This chapter gives you an overview of the Wireless Starter Kit Mainboard connectivity. The placement of the connectors can be seen in the figure below. Figure 4.1. Connector layout 4.1 Breakout pads Most of the BGM111's pins are routed from the radio board to breakout pads at the top and bottom edges of the Wireless Starter Kit Mainboard. A 2.54 mm pitch pin header can be soldered on for easy access to the pins. The figure below shows you how the pins of the BGM111 maps to the pin numbers printed on the breakout pads. To see the available functions on each, please refer to the BGM111-A Data Sheet. Figure 4.2. Radio board pin mapping on breakout pads. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 5 UG122: SLWSTK6101A User's Guide Connectors 4.2 Expansion header On the right hand side of the board an angled 20 pin expansion header is provided to allow connection of peripherals or plug-in boards. The connector contains a number of I/O pins that can be used with most of the BGM111 Blue Gecko's features. Additionally, the VMCU, 3V3 and 5V power rails are also exported. The connector follows a standard which ensures that commonly used peripherals such as an SPI, a UART and an I2C bus are available on fixed locations in the connector. The rest of the pins are used for general purpose I/O. This allows the definition of expansion boards that can plug into a number of different Silicon Labs starter kits. The figure below shows the pin assignment of the expansion header for the Blue Gecko Bluetooth® Smart Module Wireless Starter Kit. Because of limitations in the number of available GPIO pins, some of the expansion header pins are shared with kit features. Figure 4.3. Expansion Header The pin-routing on the EFR32 is very flexible, so most peripherals can be routed to any pin. However, many pins are shared between the Expansion Header and other functions on the Wireless STK Mainboard. Table 4.1 Expansion Header pinout on page 6 includes an overview of the mainboard features that share pins with the Expansion Header. Table 4.1. Expansion Header pinout Pin Connection EXP Header function Shared feature Peripheral mapping 4 PC6 SPI_MOSI DISP_MOSI USART1_TX #11 6 PC7 SPI_MISO 8 PC8 SPI_SCLK 10 PC9 SPI_CS 12 PA0 UART_TX VCOM_TX_MOSI USART0_TX #0 14 PA1 UART_RX VCOM_RX_MISO USART0_RX #0 16 PC10 I2C_SDA SENSOR_I2C_SDA I2C0_SDA #15 3 PA2 GPIO VCOM_#CTS_SCLK USART0_CLK #0 5 PA3 GPIO VCOM_#RTS_#CS USART0_CS #0 7 PA4 GPIO 9 PD10 GPIO 11 PD11 GPIO 13 PF3 GPIO DBG_TDI 15 PC11 I2C_SCL SENSOR_I2C_SCL silabs.com | Smart. Connected. Energy-friendly. USART1_RX #11 DISP_SCLK USART1_CLK #11 USART1_CS #11 I2C0_SCL #15 Rev. 0.1 | 6 UG122: SLWSTK6101A User's Guide Connectors Please note that pin PF3 is used for DBG_TDI in JTAG mode only. When Serial Wire Debugging is used, PF3 can be used for other purposes. 4.3 Debug Connector (DBG) The Debug Connector serves a dual purpose. Based on the "debug mode", which can be set up using Simplicity Studio. In the "Debug IN" mode this connector allows an external debug emulator to be used with the on-board BGM111. In the "Debug OUT" mode this connector allows the kit to be used as a debugger towards an external target. In the "Debug MCU" (default) mode this connector is isolated from the debug interface of both the Board Controller and the on-board target device. Because this connector is automatically switched to support the different operating modes, it is only available when the Board Controller is powered (J-Link USB cable connected). If debug access to the target device is required when the Board Controller is unpowered, this should be done by connecting directly to the appropriate breakout pins. The pinout of the connector follows that of the standard ARM Cortex Debug+ETM 19-pin connector. The pinout is described in detail below. Note that even though the connector has support for both JTAG and ETM Trace in addition to Serial Wire Debug, it does not necessarily mean that the kit or the on-board target device supports this. Figure 4.4. Debug Connector Note that the pin-out matches the pin-out of an ARM Cortex Debug+ETM connector, but these are not fully compatible as pin 7 is physically removed from the Cortex Debug+ETM connector. Some cables have a small plug that prevent them from being used when this pin is present. If this is the case, remove the plug, or use a standard 2x10 1.27 mm straight cable instead. Table 4.2. Debug Connector pin descriptions Pin number(s) Function Note 1 VTARGET Target voltage on the debugged application. 2 TMS / SDWIO / C2D JTAG test mode select, Serial Wire data or C2 data 4 TCK / SWCLK / C2CK JTAG test clock, Serial Wire clock or C2 clock 6 TDO/SWO JTAG test data out or Serial Wire Output 8 TDI / C2Dps JTAG test data in, or C2D "pin sharing" function 10 RESET / C2CKps Target device reset, or C2CK "pin sharing" function 12 TRACECLK ETM Trace Clock 14 TRACED0 ETM Trace Data 0 16 TRACED1 ETM Trace Data 1 18 TRACED2 ETM Trace Data 2 20 TRACED3 ETM Trace Data 3 9 Cable detect This signal must be pulled to ground by the external debugger or application for cable insertion detection. 11, 13 NC Not connected 3, 5, 15, 17, 19 GND silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 7 UG122: SLWSTK6101A User's Guide Connectors 4.4 Simplicity Connector The Simpicity Connector featured on the Wireless Starter Kit Mainboard enables advanced debugging features such as the AEM, the Virtual COM port and the Packet Trace Interface to be used towards an external target. The pinout is illustrated in the figure below. Figure 4.5. Simplicity Connector Current drawn from the VMCU voltage pin is included in the AEM measurements, while the 3V3 and 5V voltage pins are not. To monitor the current consumption of an external target with the AEM, unplug the WSTK Radio Board from the WSTK Mainboard to avoid that the Radio Board current consumption is added to the measurements. Table 4.3. Simplicity Connector pin descriptions Pin number(s) Function Note 1 VMCU 3.3 V power rail, monitored by the AEM 3 3V3 3.3 V power rail 5 5V 5 V power rail 2 VCOM_TX_MOSI Virtual COM Tx/MOSI 4 VCOM_RX_MISO Virtual COM Rx/MISO 6 VCOM_CTS_#SCLK Virtual COM CTS/SCLK 8 VCOM_#RTS_#CS Virtual COM RTS/CS 10 PTI0_SYNC Packet Trace 0 Sync 12 PTI0_DATA Packet Trace 0 Data 14 PTI0_CLK Packet Trace 0 Clock 16 PTI1_SYNC Packet Trace 1 Sync 18 PTI1_DATA Packet Trace 1 Data 20 PTI1_CLK Packet Trace 1 Clock 17 EXT_ID_SCL Board ID SCL 19 EXT_ID_SDA Board ID SDA 7, 9, 11, 13, 15 GND silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 8 UG122: SLWSTK6101A User's Guide Power Supply and Reset 5. Power Supply and Reset 5.1 Radio Board Power Selection The BGM111 on the Wireless Starter Kit can be powered by one of these sources: • The debug USB cable • A 3 V coin cell battery Selecting the power source is done with the slide switch in the lower left corner of the Wireless STK Mainboard. Figure 5.1 SLWSTK6101A Power Switch on page 9 shows how the different power sources can be selected with the slide switch. Figure 5.1. SLWSTK6101A Power Switch With the switch in the AEM position, a low noise 3.3 V LDO on the WSTK Mainboard is used to power the Radio Board. This LDO is again powered from the debug USB cable. The Advanced Energy Monitor is now also connected in series, allowing accurate high speed current measurements and energy debugging/profiling. With the switch in the USB position, certain radio boards with USB-support can be powered by a regulator on the radio board itself. This is not supported by BRD4300A and setting the switch in the USB postition will cause the BGM111 to be unpowered. Finally, with the switch in the BAT position, a 20 mm coin cell battery in the CR2032 socket can be used to power the device. With the switch in this position no current measurements are active. This is the recommended switch position when powering the radio board with an external power source. Note: Please be aware that the current sourcing capabilities of a coin cell battery might be too low to supply certain wireless applications. Note: Remove the CR2032 coin cell batter when powering the WSTK via USB to avoid damaging the battery. Note: The Advanced Energy Monitor can only measure the current consumption of the BGM111 when the power selection switch is in the AEM position. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 9 UG122: SLWSTK6101A User's Guide Power Supply and Reset 5.2 Board Controller Power The board controller is responsible for important features such as the debugger and the Advanced Energy Monitor, and is powered exclusively through the USB port in the top left corner of the board. This part of the kit resides on a separate power domain, so a different power source can be selected for the target device while retaining debugging functionality. This power domain is also isolated to prevent current leakage from the target power domain when power to the Board Controller is removed. The board controller power domain is exclusively supplied by the J-Link USB cable, and is not influenced by the position of the power switch. The kit has been carefully designed to keep the board controller and the target power domains isolated from each other as one of them powers down. This ensures that the target BGM111 device will continue to operate in the USB and BAT modes. 5.3 Bluetooth Smart Module Reset The BGM111 Bluetooth Smart Module can be reset by a few different sources: • A user pressing the RESET button. • The on-board debugger pulling the #RESET pin low. • An external debugger pulling the #RESET pin low. In addition to the reset sources mentioned above, the Board Controller will also issue a reset to the BGM111 when booting up. This means that removing power to the Board Controller (plugging out the J-Link USB cable) will not generate a reset, but plugging the cable back in will, as the Board Controller boots up. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 10 UG122: SLWSTK6101A User's Guide Peripherals 6. Peripherals The starter kit has a set of peripherals that showcase some of the features of the BGM111. Be aware that most BGM111 I/O routed to peripherals are also routed to the breakout pads. This must be taken into consideration when using the breakout pads for your application. 6.1 Push Buttons and LEDs The kit features two user push buttons, marked PB0 and PB1, and two yellow LEDs, marked LED0 and LED1. PB0 and LED0 shares the connection to GPIO pin PF4, and PB1 and LED1 are both connected to PF5. To use the push buttons as inputs to the BGM111, each button's GPIO pin must be configured as an input. Configure the pins as outputs to control the LEDs. Note that LEDs are connected to GPIO pins in an active-low configuration. The push buttons are debounced by RC filters with a time constant of 1 ms. Figure 6.1. Buttons/LEDs silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 11 UG122: SLWSTK6101A User's Guide Peripherals 6.2 Memory LCD-TFT Display A 1.28-inch SHARP Memory LCD-TFT is available on the kit to enable interactive applications to be developed. The display has a high resolution of 128 by 128 pixels, and consumes very little power. It is a reflective monochrome display, so each pixel can only be light or dark, and no backlight is needed in normal daylight conditions. Data sent to the display is stored in the pixels on the glass, which means no continous refreshing is required to maintain a static image. The display interface consists of an SPI-compatible serial interface and some extra control signals. Pixels are not individually addressable, instead data is sent to the display one line (128 bits) at a time. The Memory LCD-TFT display is shared with the kit Board Controller, allowing the Board Controller application to display useful information when the user application is not using the display. The user application always controls ownership of the display with the DISP_ENABLE line: • 0: The Board Controller has control of the display • 1: The user application (BGM111) has control of the display Power to the display is sourced from the target application power domain when the BGM111 controls the display, and from the Board Controller's power domain when the DISP_ENABLE line is low. Data is clocked in on DISP_MOSI when DISP_CS is high, and the clock is sent on DISP_SCLK. The maximum supported clock speed is 1.1 MHz. DISP_COM is the "COM Inversion" line. It must be pulsed periodically to prevent static build-up in the display itself. Please refer to the display application information for details on driving the display: http://www.sharpmemorylcd.com/1-28-inch-memory-lcd.html Figure 6.2. 128x128 pixel Memory LCD silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 12 UG122: SLWSTK6101A User's Guide Peripherals 6.3 Si7021 Relative Humidity and Temperature Sensor The Si7021 I2C relative humidity and temperature sensor is a monolithic CMOS IC integrating humidity and temperature sensor elements, an analog-to-digital converter, signal processing, calibration data, and an I2C Interface. The patented use of industry-standard, low-K polymeric dielectrics for sensing humidity enables the construction of low-power, monolithic CMOS Sensor ICs with low drift and hysteresis, and excellent long term stability. The humidity and temperature sensors are factory-calibrated and the calibration data is stored in the on-chip non-volatile memory. This ensures that the sensors are fully interchangeable, with no recalibration or software changes required. The Si7021 is available in a 3x3 mm DFN package and is reflow solderable. It can be used as a hardware- and software-compatible drop-in upgrade for existing RH/ temperature sensors in 3x3 mm DFN-6 packages, featuring precision sensing over a wider range and lower power consumption. The optional factory-installed cover offers a low profile, convenient means of protecting the sensor during assembly (e.g., reflow soldering) and throughout the life of the product, excluding liquids (hydrophobic/oleophobic) and particulates. The Si7021 offers an accurate, low-power, factory-calibrated digital solution ideal for measuring humidity, dew-point, and temperature, in applications ranging from HVAC/R and asset tracking to industrial and consumer platforms. The I2C bus used for the Si7021 is shared with the Expansion Header. The temperature sensor is normally isolated from the I2C line. To use the sensor, SENSOR_ENABLE (SENSOR_ENABLE (tied high)) must be set high. When enabled, the sensor's current consumption is included in the AEM measurements. Figure 6.3. Si7021 Relative Humidity and Temperature Sensor silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 13 UG122: SLWSTK6101A User's Guide Advanced Energy Monitor 7. Advanced Energy Monitor 7.1 Introduction Any embedded developer seeking to make his embedded code spend as little energy as the underlying architecture supports, needs tools to easily and quickly discover inefficiencies in the running application. This is what the Simplicity Energy Profiler is designed to do. It will in real-time graph and log current as a function of time while correlating this to the actual target application code running on the BGM111. There are multiple features in the profiler software that allows for easy analysis, such as markers and statistics on selected regions of the current graph or aggregate energy usage by different parts of the application. 7.2 Advanced Energy Monitor - Theory of operation The AEM circuitry on the board is capable of measuring current signals in the range of 0.1 µA to 95 mA, which is a dynamic range of alomst 120 dB. It can do this while maintaining approximately 10 kHz of current signal bandwidth. This is accomplished through a combination of a highly capable current sense amplifier, multiple gain stages and signal processing within the kit's board controller before the current sense signal is read by a host computer for display and/or storage. The current sense amplifier measures the voltage drop over a small series resistor, and the gain stage further amplifies this voltage with two different gain settings to obtain two current ranges. The transition between these two ranges occurs around 250 µA. The current signal is combined with the target processor's Program Counter (PC) sampling by utilizing a feature of the ARM CoreSight debug architecture. The ITM (Instrumentation Trace Macrocell) block can be programmed to sample the MCU's PC at periodic intervals (50 kHz) and output these over SWO pin ARM devices. When these two data streams are fused and correlated with the running application's memory map, an accurate statistical profile can be built over time, that shows the energy profile of the running application in real-time. At kit power-up or on a power-cycle, and automatic AEM calibration is performed. This calibration compensates for any offset errors in the current sense amplifiers. Figure 7.1. Advanced Energy Monitor silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 14 UG122: SLWSTK6101A User's Guide Advanced Energy Monitor 7.3 AEM accuracy and performance The Advanced Energy Monitor is capable of measuring currents in the range of 0.1 µA to 95 mA. For currents above 250 µA, the AEM is accurate within 0.1 mA. When measuring currents below 250 µA, the accuracy increases to 1 µA. Even though the absolute accuracy is 1 µA in the sub 250 µA range, the AEM is able to detect changes in the current consumption as small as 100 nA. The AEM current sampling rate is 10 kHz. Note: The AEM circuitry only works when the kit is powered and the power switch is in the AEM position. 7.4 Usage The AEM (Advanced Energy Monitor) data is collected by the board controller and can be displayed by the Energy Profiler, available through Simplicity Studio. By using the Energy Profiler, current consumption and voltage can be measured and linked to the actual code running on the BGM111 in realtime. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 15 UG122: SLWSTK6101A User's Guide Kit Features 8. Kit Features The kit contains a board controller that is responsible for performing various board-level tasks, such as handling the debugger and the Advanced Energy Monitor. An interface is provided between the BGM111 and the board controller in the form of a UART connection. The connection is enabled by setting the VCOM_ENABLE (PA5) line high, and using the lines VCOM_TX (PA0) and VCOM_RX (PA1) for communication. Note: The board controller is only available when USB power is connected. 8.1 Virtual COM Port When enabling virtual serial communication (VCOM), the board controller makes communication possible on the following interfaces: • Virtual USB COM port using a CDC driver. • TCP/IP, by connecting to the Wireless STK on port 4901 with a telnet client. The VCOM functionality can operate in two different modes: • Transparent mode allows the target to communicate using a regular serial driver. The board controller forwards the raw byte stream to its interfaces. • BSP-mode is initiated by a BSP call in the target application. This mode enables the target to use all BSP functionality, while having access to VCOM over USB and Ethernet. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 16 UG122: SLWSTK6101A User's Guide Kit Revision History and Errata 9. Kit Revision History and Errata 9.1 Revision History The kit revision can be found printed on the box label of the kit, as outlined in the figure below. Figure 9.1. Revision info Table 9.1. Kit Revision History Kit Revision Released Description A01 01.07.2015 Updated BRD4300A to revision A01. A00 01.06.2015 Initial kit release. 9.2 Errata There are no known errata at present. silabs.com | Smart. Connected. Energy-friendly. Rev. 0.1 | 17 Smart. Connected. Energy-Friendly Products Quality www.silabs.com/products www.silabs.com/quality Support and Community 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 must not 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 generally not intended 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, CMEMS®, EFM, EFM32, EFR, Energy Micro, Energy Micro logo and combinations thereof, "the world’s most energy friendly microcontrollers", Ember®, EZLink®, EZMac®, EZRadio®, EZRadioPRO®, DSPLL®, ISOmodem ®, Precision32®, ProSLIC®, SiPHY®, 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