Hillcrest Labs BNO080 Quick Start Manual

January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 1 / 17
BNO080 Development Kit for Nucleo
The BNO080 is a System in Package (SiP) that integrates a triaxial accelerometer, a triaxial gyroscope, magnetometer and a 32-bit ARM® Cortex™-M0+ microcontroller running Hillcrest’s SH-2™ firmware. This document is intended to provide information about the BNO080 Development Kit, the pin connections and software provided by Hillcrest to facilitate customer integration.
1. Hardware
1.1. Introduction
The BNO080 Development Kit includes a shield known as the BNO080 (target device) Development Board that is designed for quick and easy development and prototyping. The shield is designed to connect to a number of evaluation platforms – one of which is the STM32F4x1RE Nucleo (bridge board) which is developed and sold by STMicroelectronics1 (ST) and is included in the BNO080 Development Kit package. The Nucleo platform includes a STM32F4x1 MCU that serves as the master to the BNO080. This document includes details for connecting and using the BNO080 Development Kit with the ST Nucleo prototyping platform.
Figure 1: BNO080 Development Kit with ST Nucleo
1
https://www.st.com/en/evaluation-tools/nucleo-f411re.html
January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 2 / 17
1.2. Connections
The BNO080 Development Board simply plugs into the Nucleo board and is ready to use. The reader is encouraged to review the BNO080 Datasheet
[1]
for more information on the pinout configurations. The
BNO080 communicates with a host system over switch selectable serial interfaces.
Dev Board
Signal
Nucleo
J11.1
SCL
CN5.10
J11.2
SDA
CN5.9
J11.3
NC
CN5.8
Dev Board
Signal
Nucleo
J11.4
GND
CN5.7
J9.1
NC
CN6.1
J11.5
SCK
CN5.6
J9.2
VDD_TRGT
CN6.2
J11.6
MISO
CN5.5
J9.3
SYS_RST
CN6.3
J11.7
MOSI
CN5.4
J9.4
VDD_IO
CN6.4
J11.8
CSN
CN5.3
J9.5
NC
CN6.5
J11.9
NC
CN5.2
J9.6
GND
CN6.6
J11.10
NC
CN5.1
J9.7
GND
CN6.7
J9.8
NC
CN6.8
Dev Board
Signal
Nucleo
J12.1
CLKSEL0
CN9.8
Dev Board
Signal
Nucleo
J12.2
WAKE
CN9.7
J10.1
NC
CN8.1
J12.3
NRST
CN9.6
J10.2
NC
CN8.2
J12.4
BOOTN
CN9.5
J10.3
NC
CN8.3
J12.5
INT (opt)
CN9.4
J10.4
NC
CN8.4
J12.6
INT
CN9.3
J10.5
NC
CN8.5
J12.7
NC
CN9.2
J10.6
NC
CN8.6
J12.8
NC
CN9.1
Dev Board
Signal
Nucleo
Note
J7.3
RXD
CN10.21
J7.2
TXD
CN7.21
Note: Nucleo pins are not connected to the BNO080 Dev Board. External wiring is required.
Figure 2: BNO080 Development Board Interface to Nucleo Host device
The BNO080 uses the Sensor Hub Transport Protocol (SHTP) to communicate with a system or application processor (host that connects to the BNO080). The SHTP protocol is documented in the BNO080 datasheet, allowing a customer to potentially develop their own host software if they choose to do so. In order to ease customer integration, Hillcrest has developed software that runs on a host platform such as the STM32F4x1RE Nucleo series. The software driver fully implements the communication protocol used by the BNO080. Hillcrest provides this software driver package as source code. The BNO080 Development Kit has programmed the ST Nucleo to work with the Hillcrest PC application to demonstrate functions. Customers who intend to use the BNO080 Development Kit for their own software development should use the driver package to download a new firmware.
January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 3 / 17
1.3. Switch Configurations
There are several switches on the board which are used to configure the hardware to select the protocol for communication with the host. The board is shipped with the I2C interface setting as the default configuration.
The communication interface is configured by setting the protocol selection SW2 (PS0/1) pins and SW4, SW6 appropriately.
PS1
PS0
BNO080
Transport
Protocol
0 0 I2C
0 1 UART-RVC
1 0 UART-SHTP
1 1 SPI
Figure 3: BNO080 Available Selection of Host Communication Interface
SW2
PS0
SW2
PS1
SW4
SPI
SW6
SPI
BNO080
Transport
Protocol
0 0 0 0 I2C
1 1 1 1 SPI
0
1
Don’t
care
1
UART-SHTP
Figure 4: Selection of Host Communication Interface in BNO080 Development Board
Figure 5: Default Switch Configuration for I2C
January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 4 / 17
1.4. Power Measurement Headers
Two headers are available to provide an easy way to measure the current usage of the BNO080 device. J1 is for VDDIO and J2 is for VDD. These two jumpers must be installed for normal use. If you need to measure the current you should remove the jumper and install a current meter.
Figure 6: Power Measurement Headers
1.5. Slave Address Selection for I2C Host Interface
The default slave address is 0x4A when SA0 is low (no jumper installed on J5). The slave address is 0x4B when SA0 is high (jumper installed on J5).
January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 5 / 17
Figure 7: Slave Address Selection for I2C Host Interface
1.6. Reset Buttons
Two reset buttons are available. SW1 will reset the BNO080 and SW5 will reset the Nucleo.
Figure 8: Reset Buttons
January 2019 1000-3960 Revision 1.5 www.hillcrestlabs.com © 2019 Hillcrest Laboratories, Inc. All rights reserved 6 / 17
2. Software
2.1. BNO080 Development Kit
BNO080 Development Kit contains a pre-programmed STM32 Nucleo board with Hillcrest software that allows communication between the BNO080 and Freespace MotionStudio 2.
Freespace MotionStudio 2 is a Windows application to allow users to control and configure the BNO080 through a USB interface. BNO080 Development Kit can be used for a quick evaluation of the BNO080. A generalized system diagram is shown in Figure 9.
Figure 9: Simplified System Diagram with Freespace MotionStudio 2
2.2. Running a PC Demo Application with BNO080 Development Kit
2.2.1. Requirement
Running Freespace MotionStudio 2 with BNO080 development kit requires the following items.
ST-LINK/V2 USB driver available from the ST website (http://www.st.com/en/embedded-
software/stsw-link009.html).
ST32 Virtual COM Port Driver from ST website (http://www.st.com/en/development-
tools/stsw-stm32102.html). The BNO080 software package is tested with STSW version 1.5.0. Once you downloaded and extracted the driver, follow the readme.txt file for the instruction to complete the installation.
Freespace MotionStudio 2 application from http://hillcrestlabs.com
Connect USB Type A to Mini-B cable to Nucleo board and your PC. The virtual COM port should appear in your Device Manager.
Figure 10: Device Manager to Check Installed Driver for ST Virtual COM Port
Start Freespace MotionStudio 2 (MotionStudio2.exe) after BNO080 development kit virtual COM port is successfully detected in your PC.
Nucleo
Windows PC
MotionSutdio 2
(executable)
Bridge
(binary)
Preloaded
BNO080
Dev Brd
Loading...
+ 11 hidden pages