CEVA FSP201 Development Kit

Product Information
Specifications
- Product Name: FSP201 Development Kit
- Model: 1000-5132
- Revision: 1.1
- Date: December 2023
Product Usage Instructions
Getting Started
Before using the FSP201 Development Kit, ensure you have read the user manual thoroughly.
Hardware Setup
Follow the instructions in the user manual to set up the hardware components correctly.
Software Installation
Download the necessary software from the CEVA website provided in the documentation.
Simple Calibration
- Hardware Controlled Method
Follow the hardware controlled calibration method as outlined in the user manual. - Software Controlled Method
For software controlled calibration, refer to the instructions in the user manual for detailed steps.
FAQ
How can I get technical support for the FSP201 Development Kit?
To get technical support, you can:
- Visit the CEVA website or your company’s protected page on the CEVA website for FAQs and application notes.
- Email: Use the central support email address cevasupport@ceva-dsp.com for professional assistance.
- License Keys: For license key requests or issues, contact sdtkeys@ceva-dsp.com.
Documentation Control
History Table
| Version | Date | Description |
| 1.0 | December 6, 2023 | Initial Release |
| 1.1 | December 12, 2023 | Broken reference fixes, odd page footer update |
Disclaimer and Proprietary Information Notice
- The information contained in this document does not represent a commitment on any part by CEVA®, Inc., or its subsidiaries (collectively, “CEVA”). CEVA makes no warranty of any kind with regard to this material, including, but not limited to implied warranties of merchantability and fitness for a particular purpose whether arising out of law, custom, conduct, or otherwise.
- Additionally, CEVA assumes no responsibility for any errors or omissions contained herein, and assumes no liability for special, direct, indirect, or consequential damage, losses, costs, charges, claims, demands, fees, or expenses, of any nature or kind, which are incurred in connection with the furnishing, performance, or use of this material.
- This document contains proprietary information, which is protected by U.S. and international copyright laws. All rights reserved. No part of this document may be reproduced, photocopied, or translated into another language without the prior written consent of CEVA. All product names are registered trademarks of CEVA®, Inc. and/or its subsidiaries, or, of its applicable suppliers if so stated.
Support
CEVA® makes great efforts to provide a user-friendly software and hardware development environment. Along with this, CEVA provides comprehensive documentation, enabling users to learn and develop applications on their own. Due to the complexities involved in the development of DSP applications that might be beyond the scope of the documentation, an online Technical Support Service has been established. This service includes useful tips and provides fast and efficient help, assisting users to quickly resolve development problems.
How to Get Technical Support:
- FAQs: Visit our website http://www.ceva-dsp.com or your company’s protected page on the CEVA website for the latest answers to frequently asked questions.
- Application Notes: Visit our website http://www.ceva-dsp.com or your company’s protected page on the CEVA website for the latest application notes.
- Email: Use the CEVA central support email address ceva-support@ceva-dsp.com. Your email will be forwarded automatically to the relevant support engineers and tools developers who will provide you with the most professional support to help you resolve any problem.
- License Keys: Refer any license key requests or problems to sdtkeys@ceva-dsp.com. For SDT license keys installation information, see the SDT Installation and Licensing Scheme Guide.
Email: ceva-support@ceva-dsp.com
Visit us at: www.ceva-dsp.com
Introduction
Scope
This document describes the features and operation of the FSP201 Development Kit.
Audience
This document is intended for software and hardware engineers integrating or evaluating the FSP201.
Related Documents
The following documents are related to the information in this document:
- 1000-4819 FSP201 Datasheet, CEVA, Inc.
- 1000-3625 SH-2 Reference Manual, CEVA, Inc.
- 1000-4906 FSP201 Simple Calibration User Guide, CEVA, Inc.
- 1000-3535 Sensor Hub Transport Protocol
- 1000-5106 Schematic, Module, Dev Kit Shield
- 1000-4868 Schematic, FSP201 Module
Overview
The FSP201 is a 6-axis IMU processor, integrating CEVA’s high-performance sensor hub software stack, to provide heading and orientation outputs. When connected to one of several supported sensors, it performs all the accelerometer and gyroscope sensor fusion processing necessary to produce stable and accurate heading and orientation outputs. This document is intended to provide information about the FSP201 Development Kit, the pin connections and software provided by CEVA to facilitate customer integration.
Hardware
Introduction
The FSP201 Development Kit includes a shield known as the FSP201
(“target device”) Development Board that is designed for quick and easy development and prototyping. The shield is designed to connect to the STM32F411RE Nucleo (“bridge board”) which is developed and sold by STMicroelectronics (ST) and is included in the FSP201 Development Kit package. The Nucleo platform includes a STM32F411 MCU that serves as the master to the FSP201. This document includes details for connecting and using the FSP201 Development Kit with the ST Nucleo prototyping platform.

Connections
Nucleo
The FSP201 Development Shield simply plugs into the Nucleo board and is ready to use. The reader is encouraged to review the FSP201 Datasheet [1] and the FSP201 Shield Schematic [5] for more information on the pinout configurations. The FSP201 communicates with a host system over the following possible interfaces: I2C-SHTP, UART-RVC, or UART-SHTP.
| Dev Board | Signal | Nucleo | ||||
| JP3.10 | H_SCL | CN5.10 | ||||
| JP3.9 | H_SDA | CN5.9 | ||||
| JP3.8 | NC | CN5.8 | ||||
| Dev Board | Signal | Nucleo | JP3.7 | GND | CN5.7 | |
| JP1.1 | NC | CN6.1 | JP3.6 | NC | CN5.6 | |
| JP1.2 | VDD | CN6.2 | JP3.5 | NC | CN5.5 | |
| JP1.3 | NC | CN6.3 | JP3.4 | H_SA0 | CN5.4 | |
| JP1.4 | NC | CN6.4 | JP3.3 | NC | CN5.3 | |
| JP1.5 | NC | CN6.5 | JP3.2 | NC | CN5.2 | |
| JP1.6 | GND | CN6.6 | JP3.1 | H_RX | CN5.1 | |
| JP1.7 | GND | CN6.7 | ||||
| JP1.8 | NC | CN6.8 | Dev Board | Signal | Nucleo | |
| JP4.8 | NC | CN9.8 | ||||
| Dev Board | Signal | Nucleo | JP4.7 | PS0 | CN9.7 | |
| JP2.1 | RED LED | CN8.1 | JP4.6 | RESETN | CN9.6 | |
| JP2.2 | GRN LED | CN8.2 | JP4.5 | BOOTN | CN9.5 | |
| JP2.3 | NC | CN8.3 | JP4.4 | H_TX | CN9.4 | |
| JP2.4 | PS1 | CN8.4 | JP4.3 | H_INT | CN9.3 | |
| JP2.5 | NC | CN8.5 | JP4.2 | NC | CN9.2 | |
| JP2.6 | NC | CN8.6 | JP4.1 | NC | CN9.1 | |
Table 2-1: FSP201 Shield to Nucleo Interface
In UART-SHTP and I2C-SHTP modes, the FSP201 uses the Sensor Hub Transport Protocol (SHTP) to communicate with a system or application processor (host that connects to the FSP201). The SHTP protocol is documented in the Sensor Hub Transport Protocol [4], allowing a customer to potentially develop their own host software if they choose to do so. To ease customer integration, CEVA has developed software that runs on a host platform such as the STM32F411RE Nucleo series. The software driver fully implements the communication protocol used by the FSP201. CEVA provides this software driver package as source code. The FSP201 Development Kit has programmed the ST Nucleo to work with the CEVA PC application to demonstrate functions. Customers who intend to use the FSP201 Development Kit for their own software development should use the driver package to download new firmware.
In UART-RVC mode, the FSP201 transmits heading and sensor information at 100Hz over the H_TX pin. UART-RVC mode has its own dedicated packet format. It’s not configurable, but convenient to get a limited sensor data set for applications.
Host Interface (J3)
The Host Interface connector (J3) is available for testing purposes, or this interface could be used to wire up to another host.
| Dev Board | Signal | Description |
| J3.1 | SA0 | I2C address select |
| J3.2 | SDA_TX | I2C data / UART TX data |
| J3.3 | SCL_RX | I2C clock / UART RX data |
| J3.4 | NA | Not applicable |
| J3.5 | INT | Host interrupt |
| J3.6 | PS1 | Host interface protocol select 1 |
| J3.7 | NRST | Reset, Active low |
| J3.8 | NC | Not connected |
| J3.9 | VDD | Power supply |
| J3.10 | GND | Ground |
| J3.11 | PS0 | Host interface protocol select 0 |
| J3.12 | BOOTN | Bootloader select |
Table 2-2: Host Interface (J3) pinout
Host Protocol Configuration
The communication interface is configured by setting the protocol selection PS0 and PS1 pins appropriately.
| PS1 | PS0 | FSP201 Transport Protocol |
| 0 | 0 | I2C-SHTP |
| 0 | 1 | UART-RVC |
| 1 | 0 | UART-SHTP |
| 1 | 1 | Not supported |
Table 2-3: Host Protocol Selection
Software
FSP201 Development Kit
FSP201 Development Kit contains a pre-programmed STM32 Nucleo board with CEVA software that allows communication between the FSP201 and Freespace™ MotionStudio 2.
Freespace™ MotionStudio 2 is a Windows application to allow users to control and configure the FSP201 through a USB interface. FSP201 Development Kit can be used for a quick evaluation of the FSP201. A generalized system diagram is shown below.
PC Demo Application with Dev Kit
Requirement
Running Freespace™ MotionStudio 2 with FSP201 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 FSP201 software package is tested with STSW version 1.4.0. Once you have downloaded and extracted the driver, follow the readme.txt file for the instructions to complete the installation.
- Freespace™ MotionStudio 2 application from https://www.ceva-dsp.com/resource/freespace-motionstudio-2-2-0-1/
Connect USB Type A to Mini-B cable to Nucleo board and your PC. The virtual COM port should appear in your Device Manager.

Start FreespaceTM MotionStudio 2 (MotionStudio2.exe) after FSP201 development kit virtual COM port is successfully detected in your PC.
Running PC Application
Start Freespace TM Motionb Studio 2
After you unzip the PC Application package, launch MotionStudio2.exe under Motion Studio 2 folder. This will open Motion Studio 2 window.

Establish Connection to the Nucleo Board
From the menu panel on the left, select Device Connection. This panel allows users to select device type, transport protocol and more.
- Product set to FSP201
- Bridge Device Type set to ST Nucleo
- Bridge Virtual COM Port select the available ST Link Virtual COM port
- Target Device set to SHTP over UART
- SHTP over I2C and UART RVC are other supported target devices
- Use the “Connect” button to establish the connection.

When connection process is completed, the three status indicator text boxes on the upper right corner of the panel and the console window on the bottom provide the result of connection process. The three status indicators show the status of the connected system and the status of the associated panel. If the specific panel supports the protocol used by the connected device, the panel becomes active and shows in green color.
Sensor Control
The Sensor Control panel allows the user to enable and disable the various sensors individually. There are two ways to control sensors:
- To enable an individual sensor at a default operation rate, use the check box on the right end of the row for each sensor.
- To enable sensors at specific rates, input the requested operating period, in microseconds, in the “Requested Period (us)” fields. Then click the “Set Sensor Periods” button on the top of the panel. All sensors will be updated with the specified operating period. The “Requested Period (us)” fields which are left blank or have invalid values are assumed to be “zero”.
In many cases, the sensors do not operate at the exact rate as requested. The actual operating period is shown in the “Reported Period (us)” field. Users can also use the “Get Sensor Periods” button on top of the panel to refresh the actual operating period for all sensors.

Virtual Object
The Virtual Object panel shows the orientation of the device. Please note that you need to enable sensors in Sensor Control panel, then select the sensor from the drop-down menu in Virtual Object panel. The sword in the Virtual Object will move according to the device orientation.
To adjust the camera position, move the cursor to the Virtual object Panel, then press the LEFT mouse button. Hold the button down and move the mouse to change the view position. To reset the camera position, use the “Reset Camera Position” button.
To display the game rotation vectors, select the game rotation vectors from the drop-down menu, the data fields should start updating with the received sensor data. The virtual object will move according to the orientation of the hardware. Use the Sensor Control Panel to enable or disable the specific sensor. This panel does not control the sensor but displays the output data.

X/Y marked on the board, using the right-handed rule Please follow the instructions below to align your device.
- Enable Game Rotation Vector and ARVR Stabilized Game Rotation Vector in “Sensor Control” panel.
- Switch to Virtual Object panel and move the background so the black corner of the logo on the ground plane points to your forward direction (heading).
- Hold the FSP201 development kit Y+ axis points to your forward direction as well.
- Select “Game Rotation Vector” in drop down menu and click “Tare Z”. Now, the sword will point to the edge of the logo and is aligned with your device Y+.

Backup Bridge Image
Please keep in mind that FSP201 Development Kit is programmed to work with a Windows PC Application. Development example code explained in Section 3.3 is different and will overwrite the binary image shipped with the FSP201 Development Kit. If you want to switch back to the bridge code to run the Windows PC Application, please either download the latest bridge firmware from CEVA website (https://www.ceva-dsp.com/resource/bridge-firmware-for-nucleo/), or read the Nucleo device memory using STM32 ST-LINK Utility before downloading a new image into the Nucleo board. Please follow the instructions below to back up the prebuilt bridge image.
To save the contents of Nucleo bridge board:
- Open STM32 ST-LINK Utility
- Target->Connect
- Use “Save the displayed content in a Binary File” on the top left corner to save the image into a file for future use.
To program Nucleo bridge board with the saved image:
- Open STM32 ST-LINK Utility
- Target->Connect
- Target->Program
- In new window select “File path” to locate previously saved file.
- Click “Start”
Development Environment
The example software requires the following items to execute.
- IAR Embedded Workbench® for ARM (EWARM) by IAR Systems.
- ST-LINK/V2 USB driver. This driver is available from the ST website and is supported by the IAR Embedded Workbench for ARM (EWARM). After installing EWARM, check
IAR_INSTALL_DIRECTORY\arm\drivers\ST-Link\ Please skip this step if you have installed already from Section 3.2.1. - ST32 Virtual COM Port Driver from the ST website. Please skip this if you have installed already from Section 3.2.1.

- Terminal emulator software like Tera Term or PuTTy. Set up the terminal emulator at 115200 – 8bit – no parity – 1bit stop bit – no flow control.
Embedded Example Software
CEVA provides a complete software package for the STM32F411RE Nucleo boards. The example application for FSP201 development kit source code is available in public github.
https://github.com/ceva-dsp/sh2-demo-nucleo
Clone this repository using the –recursive flag with git. An example git clone command is shown below.
git clone –recursive https://github.com/ceva-dsp/sh2-demo-nucleo.git
Everything required to obtain outputs from the FSP201 is included in this package. The software package incorporates the FSP201 driver, enabling SH2 functionality for the development system.

The software is organized as an IAR EWARM project that can be dropped into the IAR IDE (version 9.32 and higher) on a Windows PC. Follow this procedure to compile the project and download the software to the Nucleo board.
- Open IAR Embedded Workbench for ARM (EWARM)
- In the File menu, select Open and choose Workspace. Browse to where the example package is extracted and select “sh2-demo-nucleo/EWARM/Project.eww”. This should open an IAR workspace with all the files within the project.
- In the project configuration, select one of the following for the FSP201.
- fsp20x-uart: FSP201 in UART-SHTP mode.
- fsp201-i2c: FSP201 in I2C-SHTP mode.
- fsp201-uart-cal: simple calibration demo for the FSP201 in UART-SHTP mode.
- fsp201-i2c-cal: simple calibration demo for the FSP201 in I2C-SHTP mode.
- demo-rvc: FSP201 in UART-RVC mode.
- In the “Project” menu, select “Rebuild All” to compile the project.
- After the project is successfully compiled, go to the Project menu and select Download and Debug.
The “sh2” directory contains a full implementation of the CEVA communications protocol for the FSP201.
The reader is encouraged to review the FSP201 Datasheet [1] and the SH-2 Reference Manual [2] for details on how to construct messages.
The output from the FSP201 is printed through the serial port. The first few lines indicate that the host has established proper communication (“Product ID Request”) with the FSP201 and the FSP201 has responded with version information (“Product ID Response”).
- fsp201-i2c:
Game Rotation vector is enabled at 100Hz by default and reports are printed through the serial port. 

- fsp201-i2c-cal:
Simple Calibration mode (software-controlled method) is entered. The user should follow the instructions on the serial window to perform the calibration. A precise 180 degree rotation is required between the start orientation and the final orientation. After ‘Calibration completed successfully’, it will run into the next cycle of calibration.
Press key Enter to start simple calibration:


Rotate 180 degrees and press Enter to get calibration results:

Simple Calibration Hardware Controlled Method
Not supported on FSP201 Dev Kit hardware. See the FSP201 Datasheet to implement the FSP201 Simple Calibration via hardware control.
Software Controlled Method
- Software Controlled Simple Calibration only works in SHTP mode.
- Configuration from the IAR Embedded Workbench “fsp201-i2c-cal” or “fsp201-uart-cal” shows how to execute the FSP201 Simple Calibration. SH-2 Reference Manual [2] Section 6.4.11 also shows the details of the commands used in the example application.
- Enter Calibration Mode: startCalStart() shows command to initiate the Simple Calibration. Wait for the command response, startCalRx().
- Rotate: Once a valid response is received, rotate the device 180° clockwise, then send finish calibration command, finishCalStart().
- Wait for the Calibration Results: wait for the finish calibration response, finishCalRx() and check the calibration status.
- When Finish Calibration Response returns any error code, rerun the Simple Calibration for a couple of more times. If the calibration still fails, the device is out of specification.
Glossary
Table 5-1 defines the acronyms used in this document.
Table 5-1: Acronyms
| Term | Definition |
| SHTP | Sensor Hub Transport Protocol |
| MS2 | MotionStudio2 |
Confidential and Proprietary · Unauthorized Reproduction Prohibited
Copyright © 2023 – CEVA®, Inc.
Documents / Resources
![]() | FSP201 Development Kit |
References
- mailto:ceva-support@ceva-dsp.comceva-dsp.com
- mailto:sdtkeys@ceva-dsp.comceva-dsp.com
- Sign in to your accountcevadsp.sharepoint.com
- Sign in to your accountcevadsp.sharepoint.com
- Sign in to your accountcevadsp.sharepoint.com
- dsp.comdsp.com
- GitHub - ceva-dsp/sh2-demo-nucleo: Demo code showing how to interface with BNO080 (or FSP200) using an STM32F411 Nucleo dev board.github.com
- GitHub - ceva-dsp/sh2-demo-nucleo: Demo code showing how to interface with BNO080 (or FSP200) using an STM32F411 Nucleo dev board.github.com
- ceva-dsp.comwww.ceva-dsp.com
- ceva-dsp.com/www.ceva-dsp.com
- User Manualmanual.tools

