background image

XDK110: General Information Guide 

Document revision 

 

2.0 

Document release date  

17.08.17 

Workbench version 

 

3.0.0 

Document number 

 

BCDS-XDK110-GUIDE-GENERAL-INFORMATION 

Technical reference code(s) 
Notes   

 

 

Data in this document is subject to change without notice. Product 

 

 

 

 

photos and pictures are for illustration purposes only and may differ from  

 

 

 

 

the real product’s appearance. 

 

 

 

 

Subject to change without notice

General Information Guide 

Cross-Domain Development Kit XDK110 

Platform for Application Development

Bosch Connected Devices and Solutions

Summary of Contents for XDK 110

Page 1: ...nical reference code s Notes Data in this document is subject to change without notice Product photos and pictures are for illustration purposes only and may differ from the real product s appearance Subject to change without notice General Information Guide Cross Domain Development Kit XDK110 Platform for Application Development Bosch Connected Devices and Solutions ...

Page 2: ...mable LEDs Debugger port CE FCC and IC certified General Description The XDK110 is a wireless sensor device to enable rapid prototyping of sensor based products and applications for the internet of things IoT It thereby allows users a step in between the first hardware prototype and series production or simply as the first compact prototype The device was built in a way that Bosch can easily adapt...

Page 3: ...ON 8 1 3 2 CONNECTING XDK110 8 2 FUNCTIONAL DESCRIPTION 9 2 1 BLOCK DIAGRAM 9 2 2 POWER MANAGEMENT 10 2 3 SENSORS 11 2 3 1 BMM150 THREE AXIS GEOMAGNETIC SENSOR 11 2 3 2 BMA280 THREE AXIS ACCELERATION SENSOR 12 2 3 3 BMG160 THREE AXIS ANGULAR RATE SENSOR 13 2 3 5 BME280 ENVIRONMENTAL SENSOR 15 2 3 6 AKU340 ACOUSTIC NOISE SENSOR 16 2 3 7 MAX44009 AMBIENT LIGHT SENSOR 16 2 4 RADIOS 17 2 4 1 WLAN 17 2...

Page 4: ...ES 33 3 6 FIRMWARE OVER THE AIR FOTA 39 3 6 1 INTRODUCTION 39 3 6 2 FOTA CONTAINER 40 3 6 4 FOTA CONTAINER CREATION 41 3 6 5 FOTA UPDATE PROCESS 43 4 INTERFACES 44 4 1 EXTENSION INTERFACE 44 4 2 CONNECTING EXTERNAL COMPONENTS TO THE XDK 44 4 2 1 CONNECTING THE XDK GATEWAY EXTENSION BOARD 44 4 2 2 CONNECTING YOUR OWN COMPONENTS TO THE XDK GATEWAY BOARD 44 4 2 3 SOFTWARE EXAMPLE 47 4 2 4 MECHANICAL ...

Page 5: ...l sensors 9DOF o Accelerometer BMA280 Bosch Sensortec o Gyroscope BMG160 Bosch Sensortec o Magnetometer BMM150 Bosch Sensortec o Inertial measurement unit BMI160 Bosch Sensortec Environmental sensors o Combined humidity temperature air pressure sensor BME280 Bosch Sensortec o Ambient light MAX44009 Maxim Integrated o Microphone for noise detection AKU340 Akustica Internal Li Ion rechargeable batte...

Page 6: ...Specifications Please note that full sensor performance might be limited to a more narrow temperature range and sensor performance might be decreased when operating outside this corner cases Refer to the sensor datasheets for details 1 2 4 XDK Device Picture 1 Bosch XDK Device Name Value Temperature Range 20 C 60 C operating 0 C 45 C charging Humidity 10 90 r H non condensing IP Rating IP 30 IEC 6...

Page 7: ... green LED Table 2 Meaning of the green LED The following status can be displayed by the red orange and yellow LED Table 3 Meaning of the programmable LEDs The XDK110 uses the LED to show the following states After the XDK110 has been switched on a running light demo will start Green LED Hardware Status On Battery is charging or charging suspended by thermal loop Off Charging done Recharging after...

Page 8: ...an download the software from http www xdk bosch connectivity com Go to the download section to get the latest software package and demos Download the software package XDK Workbench from the website http www xdk bosch connectivity com and start the installer The software package contains all necessary components Program examples demos and a toolbox are included 1 3 2 Connecting XDK110 Connect the ...

Page 9: ...hird parties BOSCH and the symbol are registered trademarks of Robert Bosch GmbH Germany Note Specifications within this document are subject to change without notice General Information Guide XDK110 Page 9 2 Functional Description 2 1 Block Diagram The following Picture 2 shows a simplified block diagram of the XDK110 Picture 2 Block diagram of XDK110 General Information Guide XDK110 Page 9 ...

Page 10: ...attery will automatically be charged Charging is indicated by the green LED The device can be charged independent of the position of the power switch The maximum charging current depends on the charger used Table 4 Charger Type and Current Additional details on these port types are described in the USB Battery Charging Specification Rev 1 1 4 15 Charger Type Maximum Current Standard downstream por...

Page 11: ...sensor datasheet than it can be expected from the target device since the assembly process and mechanical stress of the board influence the performance of any sensor The absolute maximum ratings of the key parameters are stated for each sensor For more details please refer to the respective sensor datasheet 2 3 1 BMM150 Three Axis Geomagnetic Sensor The BMM150 is a standalone geomagnetic sensor fo...

Page 12: ...llows very low noise measurement of accelerations in three perpendicular axes and thus senses tilt motion shock and vibration in cellular phones handhelds computer peripherals man machine interfaces virtual reality features and game controllers Table 6 BMA280 Key Features For more information please refer to the datasheet http www bosch sensortec com en homepage products_3 3_axis_sensors accelerat...

Page 13: ...ndicular axes and is designed for use in cellular phones handhelds computer peripherals man machine interfaces virtual reality features remote and game controllers Table 7 BMG160 Key Features For more information please refer to the datasheet http ae bst resource bosch com media products dokumente bmg160 BST BMG160 DS000 09 pdf Specification Value Digital Resolution 16 bit Measurement Ranges progr...

Page 14: ...rs_2 inertial_measurement_unit_1 bmi160 bmi160_1 Note Why two gyroscopes As you will have noticed by now the XDK has two MEMS gyroscopes on board A stand alone BMG160 and another one combined with an accelerometer in the inertial measurement unit BMI160 The sensor in the BMI160 is an open loop gyroscope which results in very low noise and low power consumption 1 mA The BMG160 works in closed loop ...

Page 15: ... stability The humidity sensor features an extremely fast response time which supports performance requirements for emerging applications such as context awareness and high accuracy over a wide temperature range The pressure sensor is an absolute barometric pressure sensor which features exceptionally high accuracy and resolution at very low noise The integrated temperature sensor has been optimiz...

Page 16: ...ngly related the temperature as relative humidity is calculated using the temperature reading Hence a higher temperature leads to a lower relative humidity Once the temperature compensation is done the relative humidity can be calculated using the temperature difference For more information please refer to the datasheet http www bosch sensortec com en homepage products_3 environmental_sensors_1 bm...

Page 17: ...rameters Protocol Bluetooth v4 0 2 4GHz TX Power 18dBm to 3dBm programmable RX Sensitivity 80 dBm Security AES 128 2 5 SD Card XDK110 is equipped with a Micro SD card reader that allows the user to store e g sensor readout data or log other events Due to the processor architecture SD cards over 32 GB SD V3 standard are not supported Additionally as filesystem are only FAT and FAT32 supported Pleas...

Page 18: ...on FreeRTOS and completely operated via USB That means flashing charging and sending data to the PC using Printf A logging framework allows sneaking into existing modules In general always a complete image will be transferred onto target The Workbench compiles a complete application afterwards the image will be flashed onto the XDK using USB Except for the bootloader XDK provides no always there s...

Page 19: ... divider is used to bring down the voltage to 50 of the current voltage supplied to the system via the power management circuit The battery charger of XDK gives information about the current charging mode via the green LED of XDK However this pin is not connected to the MCU Determining the current charging mode in the software running on XDK is therefore not possible The green LED only shows the c...

Page 20: ...sh screen appears The welcome screen will be shown afterwards Picture 3 XDK Workbench Welcome Screen The welcome screen is sectioned in four parts Hands On Documentation upper left Feedback upper right XDK Examples lower left and the Community feed lower right currently not available 3 2 1 Hands On Documentation This section contains four buttons Click Go Access to the empty workspace Getting Star...

Page 21: ...me screen of the XDK Workbench Choose one example and click on it The chosen example will be imported to the workspace The examples show how to access a particular interface eg Wi Fi SD card More information can be found in the Workbench Examples guide at xdk io guides 3 2 4 Community Feed Here you will find the latest community updates 3 3 XDK Workbench Workspace XDK View Picture 4 XDK Workspace ...

Page 22: ...out notice General Information Guide XDK110 Page 22 3 3 1 Updating XDK Workbench XDK Workbench has a built in update functionality that ensures that you are always using the latest version XDK Workbench automatically checks for updates on a regular base To trigger the update process manually perform the following steps 1 In XDK Workbench click on Help Check for Updates Picture 5 Check for Updates ...

Page 23: ...many Note Specifications within this document are subject to change without notice General Information Guide XDK110 Page 23 3 Select all offered updates and click on Next Picture 7 Available Updates Window 4 XDK Workbench will present you a list of components that will be updated Click Next to continue Picture 8 Update Details 5 In case an update will contain new licenses please check them thoroug...

Page 24: ...rties BOSCH and the symbol are registered trademarks of Robert Bosch GmbH Germany Note Specifications within this document are subject to change without notice General Information Guide XDK110 Page 24 Picture 9 Licence Review Window 6 XDK Workbench will now download the updated components This may take a couple of minutes depending on your internet connection bandwidth Picture 10 Update in Progres...

Page 25: ...gistered trademarks of Robert Bosch GmbH Germany Note Specifications within this document are subject to change without notice General Information Guide XDK110 Page 25 7 Before installing the updates XDK Workbench requires you to verify the code signature certificate of BCDS Please check it and press OK Picture 11 Certificate Verification 8 After installing the updates XDK Workbench must be restar...

Page 26: ...ose a previously compiled project The XDK Workbench configures the debug configuration automatically The binary will be downloaded to the XDK and the debugger will be started The XDK Workbench proposes to switch to debug perspective 3 3 2 Project Explorer Picture 12 Project Explorer Tile The Project Explorer helps you to manage your projects You can easily browse through your project folder and ch...

Page 27: ...e 13 Console Tile The Console tab shows an overview of the status of the Workbench allows sending data to the XDK and shows output coming from XDK via USB Depending on the current status some buttons are available on the upper right side of the tile These buttons contain functions like go to next error clear console etc There are two additional tabs Progress shows the current status of e g flashin...

Page 28: ... inner workings of make Each XDK application contains a subfolder called make which in turn contains the Makefile The Makefile includes xdk110 make application mk which contains all the common elements of the application Makefiles While the overall build system of XDK works out of the box certain modifications to the Makefile of your applications may be required as outlined in this page Each Makef...

Page 29: ... updated to include all path in which include files may be residing After adding new include path make sure the change in the XDK Workbench project configuration see below is reflected Picture 16 Paths and Symbols 1 Click on File Properties or ALT ENTER 2 Click on Paths and Symbols 3 Choose the language 4 Add the desired directories Variable Meaning BCDS_CFLAGS_COMMON Defines application specific ...

Page 30: ... CFLAGS for your application please create a new line in the Makefile of your project Code 2 CFLAGS In this line you can add your own CFLAGS How Can I Rename a Project in XDK Workbench If you rename a project in XDK Workbench the project configuration as well as the Makefile has to be modified 1 Click your project in XDK Workbench and select Properties 2 Go into the C C Build tab and update the Bu...

Page 31: ...DC ACM Device XDK is recognized as CDC ACM device via USB o Refer to http en wikipedia org wiki USB_communications_device_class o On Windows this creates a virtual COM port XDK USB IDs o idProduct 0x017B o idVendor 0x108C Bidirectional Communication o XDK is recognized as a virtual COM port on Windows o printf outputs of XDK are redirected to the COM port o USB module of XDK API can be used to rec...

Page 32: ...vice suddenly disappears the driver keeps the port identifier blocked When the device reappears and the identifier is still in use the device will not be usable To work around this issue the port has to be unused e g by closing Tera Term and the device has to be reconnected Note Disappearing Device Due to the design of XDK s USB interface reboot or resetting XDK as well as switching it off and on ...

Page 33: ...K knows the following modes Bootloader Mode Application Mode Assertion Stack Overflow Bootloader Mode The XDK bootloader is stored in the first 64 kB of XDKs flash memory It is write protected and represents the only piece of software on XDK that shall not be modified by an XDK user When the bootloader is no longer present or becomes corrupted an update or recovery is only possible via the J Link ...

Page 34: ...es not respond Even when XDK is not recognized over USB approach 1 will still work There are two more possibilities to set XDK into bootloader mode Approach 2 Get XDK into application mode typically by switching it on Connect it to your PC Start XDK Workbench Right click on your XDK in the XDK Device View and select Go to Bootloader The second approach will set a flag in the user page of the MCU o...

Page 35: ...flash onto your XDK Device The XDK Workbench thereupon updates the bootloader and re establishes the write protection for the bootloader section Command Meaning Explanation u Upload application This command lets the user upload an application to the flash while keeping the bootloader intact For an application to work correctly it must use a linker file which places the application start address at...

Page 36: ...ight clicking on every existing project Configure Add XDK Nature in your Project Explorer as shown in the screenshot below Picture 20 Add XDK Nature Application Mode Startup Guide This simple guide is intended for developers who are going to develop applications for XDK to know the basic startup procedure of the system before they start writing their application XDK software can be configured to s...

Page 37: ...figurations XDK s SystemStartUp module will schedule a default application specific initialization function appInitSystem which will run in the CmdProcessor context with task priority 2 Note Operation System Tag Priority When creating the OS task inside the place holder appInitSystem the priority of OS tasks created should be less than or equal to 2 because assigning a priority greater than 2 may ...

Page 38: ...e 3 6 2 to be able to install a new application onto XDK To debug an assertion dig into the code and find the place where your program asserted The assertion will tell you which assumption was not fulfilled Check your code to make sure that all assumptions are met when calling another function Stack Overflow The call stack of a program is the memory that is allocated for holding runtime informatio...

Page 39: ...irmware wirelessly i e over Wi Fi To do so please make sure that your bootloader is FOTA compatible by overwriting your current bootloader as described in chapter 3 5 2 if necessary and your current bootloader type is set to FOTA Compatible in the XDK preferences The following screenshot shows where the configuration can be found in Window Preferences XDK Flash Picture 21 Bootloader type Note that...

Page 40: ...Ignored Used by the application to define supported application versions Header Container Header Size 2 bytes little endian 0x0200 Ignored Determines the starting position of the firmware binary Header Product Class 2 bytes little endian 0x001X Ignored Used to check whether the application is downloading firmware for the right product Header Product Variant 2 bytes little endian 0x00 Ignored Used ...

Page 41: ...OTA Container Creation Using the XDK Workbench The FOTA Container can be created using the XDK Workbench The following screenshot shows where the configuration of the FOTA Container Creation can be found in Window Preferences XDK Build Picture 22 FOTA Container Creation Header Container Header CRC 4 bytes little endian CRC 32 Yes Used to ensure that the container header was not corrupted during co...

Page 42: ...s append_signature jar Note that the FOTA container file should be copied to the MCU with negative offset so that the starting address of the executable part of the binary is at the correct MCU flash address and the container header is located at the addresses right before that Argument Relevance Meaning fv firmwareVersion arg Required Firmware Version h Shows help content hv headerVersion arg Req...

Page 43: ...equence is running within normal operation park notification LWM2M update registration Upon receipt of a package its content is stored sequentially to update the firmware starting at a specific download address Once the container header has been fully downloaded the LWM2M client checks whether enough memory is available and verifies the version of the downloaded firmware binary In case there is no...

Page 44: ...a simple way to implement additional functions It is optimized for the use with breadboards 4 2 2 Connecting Your Own Components to the XDK Gateway Board The XDK Gateway board I O pins are labeled with the respective MCU pin designator Some of the pins can be configured to cater several functions However due to shared resources with internal components restrictions apply to the possible configurat...

Page 45: ...e BSP_BoardSettings h Please refer to the interface for further information Most of the pins provided on the extension bus can be freely configured e g as GPIO or following the recommendations in the table below However the following pins differ electrically from the standard o Pins B9 and B10 are equipped with an internal pull up resistor of 3 32kOhm and are therefore usable for I2C communication...

Page 46: ...CU datasheet A13 PE2 General purpose I O n a EXTENSION _GPIO_IN_OUT_1 B1 PB9 UART1 TX UART1 2 EXTENSION _UART1_TX B2 PB10 UART1 RX UART1 2 EXTENSION _UART1_RX B3 PB2 UART1 RTS n a EXTENSION _UART1_RTS B4 PF6 UART1 CTS n a EXTENSION _UART1_CTS B5 PB4 SPI MISO USART2 1 EXTENSION _US2_MISO B6 PB3 SPI MOSI USART2 1 EXTENSION _US2_MOSI B7 PB5 SPI Clock USART2 1 EXTENSION _US2_SCK B8 PD8 SPI Chip select...

Page 47: ...tensionLedTask void MCU_GPIO_Handle_T GPIOA initialize local variables int count 0 GPIOA Port gpioPortA GPIOA Pin 1 GPIOA Mode gpioModePushPull GPIOA InitialState MCU_GPIO_PIN_STATE_HIGH Initialization activities for PTD driver MCU_GPIO_Initialize GPIOA blinking functionality while count 10 Set data out register for the pin to 1 MCU_GPIO_WritePin GPIOA MCU_GPIO_PIN_STATE_HIGH vTaskDelay 1000 use s...

Page 48: ...on board to XDK Certification Limits XDK certification does not apply to extension boards other than the XDK gateway If you use your own hardware connected to XDK you need to check the compliance to legal standards according to your region Customer made extension boards are not supported by BCDS and any damage to the XDK caused by connecting improper hardware to XDK will void the warranty The MCU ...

Page 49: ...JTAG pin configuration in the table below Picture 24 JTAG Debug Interface Table 16 XDK JTAG Interface If you do not have a suitable debug probe and feel the need to access the debug port you can buy a J link LITE CortexM 9 debug probe from SEGGER https www segger com jlink lite cortexm html by contacting the SEGGER sales team Please mention that you will use the debug probe for XDK as J link LITE ...

Page 50: ... further Information The radiated output power of the device is far below the FCC radio frequency exposure limits Nevertheless the device shall be used in such a manner that the potential for human contact during normal operation is minimized This device complies with Part 15 of the FCC Rules and with Industry Canada license exempt RSS standard s Operation is subject to the following three conditi...

Page 51: ...ote Specifications within this document are subject to change without notice General Information Guide XDK110 Page 51 Note Forfeiting the Warranty Opening the casing without authorization could present risks to the user and will void any warranty Changes or modifications made to this equipment not expressly approved by Bosch may void the declarations of conformity and the FCC authorization to oper...

Page 52: ...f the Internet of Things hereinafter referred to Customer Application as well as the integration of the XDK into such Customer Application and any adequate operating safeguards taking account of the state of the art in technology and all applicable statutory regulations and provisions In order to avoid minimize risks associated with a Customer Application sufficient validation and testing must be ...

Page 53: ... and passing on to third parties BOSCH and the symbol are registered trademarks of Robert Bosch GmbH Germany Note Specifications within this document are subject to change without notice General Information Guide XDK110 Page 53 7 Document History and Modification Rev No Chapter Description of modification changes Editor Date 2 0 Version 2 0 initial release AFS 2017 08 17 ...

Reviews: