{"product_id":"mikroe-3457","title":"SmartDOF click","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eBuilt to be used as a simple solution, this 9 DOF SiP provides an output which can be used directly, with no tedious conversions required. Acting as a co-processor, it reduces the workload from the host MCU, allowing it to be used for other tasks, such as handling of the interrupt requests. Despite its complexity, BN080 SiP still reduces the overall power consumption, allowing various \"always-on\" features which can be used to wake up the host MCU and the rest of the system. Thanks to its many features, SmartDOF click can be used for the development of various motion-based applications, including VR\/AR applications, robotics, VR\/AR headsets, wearable motion controllers, and similar.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eHow does it work?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Click board™ is based on the \u003ca href=\"https:\/\/download.mikroe.com\/documents\/datasheets\/BNO080.pdf\" target=\"_blank\"\u003eBNO080\u003c\/a\u003e, a System in Package (SiP) that integrates a triaxial accelerometer, triaxial gyroscope, magnetometer and a 32-bit ARM® Cortex®-M0+ MCU, produced by \u003ca href=\"https:\/\/www.hillcrestlabs.com\/\" target=\"_blank\"\u003eHillcrest Labs\u003c\/a\u003e. The integrated MCU core runs the proprietary Hillcrest SH-2 firmware, which includes the support for the MotionEngine™ software and its sophisticated signal processing algorithms. Thanks to this, the SmartDOF can provide very accurate and precise 3D acceleration, magnetic, and angular velocity data, in real-time. The additional output modes include orientation outputs by combining data from various sensors. There are many different rotation vectors available on a top of other readings, including geomagnetic rotation vector (does not use the gyroscope sensor), game rotation vector (no magnetometer), etc. The datasheet of the BNO080 offers a full list of outputs, each with a detailed explanation.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/www.mikroe.com\/img\/images\/smart-dof-click-inner(1).jpg\" alt=\"Click Boards Sensors Smart DOF Click\"\u003e\u003c\/p\u003e\n\u003cp\u003eAs a device built to be used primarily in smartphones, BNO080 brings events detection and classification system. Stability classification distinguishes among three stability classes: \"on the table\" (the device is at a fixed position), \"stable\" (held in hand but in a stationary manner), or at \"motion\" (the device is in motion). Stability classification is not the only classification for this device. For more information, please refer to the datasheet of the BN080 SiP.\u003c\/p\u003e\n\u003cp\u003eThe detection engine allows many different events to be detected and reported as an interrupt, including tap detector, step detector, step counter, shake detector, etc. Both classification and detection systems use configurable thresholds. More information about how to set them up can be found in the SH-2 Reference Manual. However, the mikroSDK compatible library offers a well-documented set of functions, for simplified firmware development.\u003c\/p\u003e\n\u003cp\u003eThe BNO080 offers both static and dynamic calibration features, which allow for increased precision. Static calibration is applied to the output data for the properties which do not change over time, or with temperature (i.e cross-axis sensitivity, gain, sensor orientation in respect to the frame of reference…) Dynamic calibration is used for the parameters which vary over time or temperature (i.e. zero-rate offset, zero-g offset…)\u003c\/p\u003e\n\u003cp\u003eBesides the compensation parameters, the user is able to tare the device, using two tare modes: tare around all axes, or tare around the z-axis. The result of a tare operation is applied wherever power is applied to the device. The tare value can be permanently stored with the Persist Tare function.\u003c\/p\u003e\n\u003cp\u003eThe BNO080 will be started in the Bootloader mode. This mode allows updating the embedded firmware over the I2C interface. When this pin is pulled to a LOW logic level, the device will boot up in the Bootloader mode after the next restart. This pin is routed to the mikroBUS™ PWM pin and it is labeled as BT. The BNO080 datasheet describes the firmware update process in more details.\u003c\/p\u003e\n\u003cp\u003eThe Click board™ uses the I2C interface to communicate with the host MCU. It has an SMD jumper labeled as ADD SEL, which can be used to select the slave I2C address. This allows more than one device on a single I2C bus.\u003c\/p\u003e\n\u003cp\u003eThe Click board™ is designed to work with 3.3V only. When using it with MCUs that use 5V levels for their communication, a proper level translation circuit should be used.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSpecifications\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eType\u003c\/td\u003e\n\u003ctd\u003eMotion\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApplications\u003c\/td\u003e\n\u003ctd\u003eSmartDOF click can be used for the development of various motion-based applications, including VR\/AR applications, robotics, VR\/AR headsets, wearable motion controllers, and similar.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOn-board modules\u003c\/td\u003e\n\u003ctd\u003eBNO080, a System in Package (SiP) with triaxial accelerometer, triaxial gyroscope, magnetometer, and a 32-bit ARM® Cortex®-M0+ MCU, produced by Hillcrest Labs.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKey Features\u003c\/td\u003e\n\u003ctd\u003eIntegrated MCU with proprietary firmware that supports MotionEngine™ and all the benefits it brings along, including sophisticated event detection and categorization, low power consumption, support for \"always on\" events, used to conserve power on the host MCU, and many more.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInterface\u003c\/td\u003e\n\u003ctd\u003eI2C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInput Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eClick board size\u003c\/td\u003e\n\u003ctd\u003eM (42.9 x 25.4 mm)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cstrong\u003ePinout Diagram\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThis table shows how the pinout on \u003cstrong\u003eSmart DOF click\u003c\/strong\u003e corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).\u003c\/p\u003e\n\u003ctable style=\"width: 549px;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eNotes\u003c\/th\u003e\n\u003cth\u003ePin\u003c\/th\u003e\n\u003cth colspan=\"4\"\u003e\u003ca href=\"http:\/\/www.mikroe.com\/mikrobus\/\"\u003e\u003cimg src=\"https:\/\/cdn.mikroe.com\/img\/mikrobus\/mikroBUS-logo-black.png\" alt=\"Mikrobus logo.png\"\u003e\u003c\/a\u003e\u003c\/th\u003e\n\u003cth\u003ePin\u003c\/th\u003e\n\u003cth\u003eNotes\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003eAN\u003c\/td\u003e\n\u003ctd\u003ePWM\u003c\/td\u003e\n\u003ctd\u003e16\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eBT\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eBoot Enable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChip Reset\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eRST\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003ctd\u003eRST\u003c\/td\u003e\n\u003ctd\u003eINT\u003c\/td\u003e\n\u003ctd\u003e15\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eINT\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eInterrupt\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e3\u003c\/td\u003e\n\u003ctd\u003eCS\u003c\/td\u003e\n\u003ctd\u003eRX\u003c\/td\u003e\n\u003ctd\u003e14\u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e4\u003c\/td\u003e\n\u003ctd\u003eSCK\u003c\/td\u003e\n\u003ctd\u003eTX\u003c\/td\u003e\n\u003ctd\u003e13\u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e5\u003c\/td\u003e\n\u003ctd\u003eMISO\u003c\/td\u003e\n\u003ctd\u003eSCL\u003c\/td\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eSCL\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eI2C Clock\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e6\u003c\/td\u003e\n\u003ctd\u003eMOSI\u003c\/td\u003e\n\u003ctd\u003eSDA\u003c\/td\u003e\n\u003ctd\u003e11\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eSDA\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eI2C Data\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePower Supply\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003e3.3V\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e7\u003c\/td\u003e\n\u003ctd\u003e3.3V\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003ctd\u003e10\u003c\/td\u003e\n\u003ctd\u003eNC\u003c\/td\u003e\n\u003ctd\u003e \u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGround\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eGND\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e8\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e9\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eGND\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eGround\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cstrong\u003eOnboard Settings And Indicators\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003cth\u003eLabel\u003c\/th\u003e\n\u003cth\u003eName\u003c\/th\u003e\n\u003cth\u003eDefault\u003c\/th\u003e\n\u003cth\u003e Description\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePWR\u003c\/td\u003e\n\u003ctd\u003ePWR\u003c\/td\u003e\n\u003ctd\u003e-\u003c\/td\u003e\n\u003ctd\u003ePower LED Indicator\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eJP1\u003c\/td\u003e\n\u003ctd\u003eADD SEL\u003c\/td\u003e\n\u003ctd\u003eLeft\u003c\/td\u003e\n\u003ctd\u003eSlave I2C address LSB selection: left position 0, right position 1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cstrong\u003eSoftware Support\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eWe provide a library for the \u003cstrong\u003eSmart DOF click\u003c\/strong\u003e on our \u003ca href=\"https:\/\/libstock.mikroe.com\/projects\/view\/2793\/smart-dof-click\" target=\"_blank\"\u003eLibStock\u003c\/a\u003e page, as well as a demo application (example), developed using MikroElektronika \u003ca href=\"https:\/\/www.mikroe.com\/compilers\" target=\"_blank\"\u003ecompilers\u003c\/a\u003e. The demo can run on all the main MikroElektronika \u003ca href=\"http:\/\/shop.mikroe.com\/development-boards\" target=\"_blank\"\u003edevelopment boards\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eLibrary Description\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eLibrary contains functions for setting and getting pin states as well as function for device reset Library contains functions for i2c reading and writing data Library contains functions for sending and receiving packets (packet is data to send + 4 byte header) Library contains functions for requesting reports and receiving reports Library contains function for basic device initialization Library contains constants for boot modes, sensor Q points, channels, commands, sub-commands, report IDs and FRS report IDs.\u003c\/p\u003e\n\u003cp\u003eKey functions:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ccode\u003evoid smartdof_sendPacket( uint8_t channel_number, uint16_t data_length, uint8_t * packet_data )\u003c\/code\u003e - forms a packet of data by attaching proper header to data.\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003euint8_t smartdof_receivePacket( uint32_t n_cycles_timeout )\u003c\/code\u003e - receives data packet from device.\u003c\/li\u003e\n\u003cli\u003e\n\u003ccode\u003evoid smartdof_getData( uint8_t * data_header, uint16_t * data_length, uint8_t * data_buffer )\u003c\/code\u003e - returns data received by 'smartdof_receivePacket()' function to user.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eExamples description\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe application is composed of the three sections :\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eSystem Initialization - Initializes I2C, LOG, INT, RST and PWM pins.\u003c\/li\u003e\n\u003cli\u003eApplication Initialization - Initializes I2C driver and Smart DOF device.\u003c\/li\u003e\n\u003cli\u003eApplication Task - Executes one of 'smartdof_xxx_task()' additional functions.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cpre\u003evoid applicationTask( )\n{\nsmartdof_magnetometer_task( );\n}\n\n\u003c\/pre\u003e\n\u003cp\u003eAdditional Functions :\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003esmartdof_accelerometer_task() - initializes accelerometer reports in 100000 micro second intervals, receives, parses and logs report data.\u003c\/li\u003e\n\u003cli\u003esmartdof_gyroscope_task() - initializes gyroscope calibrated reports in 100000 micro second intervals, receives, parses and logs report data.\u003c\/li\u003e\n\u003cli\u003esmartdof_magnetometer_task() - initializes magnetometer calibrated reports in 100000 micro second intervals, receives, parses and logs report data.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe full application code, and ready to use projects can be found on our \u003ca href=\"https:\/\/libstock.mikroe.com\/projects\/view\/2793\/smart-dof-click\" target=\"_blank\"\u003eLibStock\u003c\/a\u003e page.\u003c\/p\u003e\n\u003cp\u003eOther mikroE Libraries used in the example:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eI2C\u003c\/code\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ccode\u003eUART\u003c\/code\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ccode\u003eConversions\u003c\/code\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAdditional notes and informations\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDepending on the development board you are using, you may need \u003ca href=\"https:\/\/shop.mikroe.com\/usb-uart-click\" target=\"_blank\"\u003eUSB UART click\u003c\/a\u003e, \u003ca href=\"https:\/\/shop.mikroe.com\/usb-uart-2-click\" target=\"_blank\"\u003eUSB UART 2 click\u003c\/a\u003e or \u003ca href=\"https:\/\/shop.mikroe.com\/rs232-click\" target=\"_blank\"\u003eRS232 click\u003c\/a\u003e to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika \u003ca href=\"https:\/\/shop.mikroe.com\/compilers\" target=\"_blank\"\u003ecompilers\u003c\/a\u003e, or any other terminal application of your choice, can be used to read the message.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMIKROSDK\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThis click board is supported with \u003ca href=\"https:\/\/www.mikroe.com\/mikrosdk\"\u003emikroSDK\u003c\/a\u003e - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the \u003ca href=\"https:\/\/libstock.mikroe.com\/projects\/view\/2249\/mikrosdk\"\u003eLibStock\u003c\/a\u003e and installed for the compiler you are using.\u003cbr\u003e \u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"MikroElektronika","offers":[{"title":"Default Title","offer_id":47400897511707,"sku":"MIKROE-3457","price":2729.0,"currency_code":"INR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0676\/3325\/0587\/products\/smart-dof-click-large_default-22xEfxr23NkmDdCZ.jpg?v=1701963347","url":"https:\/\/mgsl.in\/products\/mikroe-3457","provider":"MG Super Labs","version":"1.0","type":"link"}