Getting Started with STSW-ROBKIT1 for STEVAL-ROBKIT1 Robotics Evaluation Kit

Introduction

The STEVAL-ROBKIT1 is a comprehensive Robotics Evaluation Kit designed as a platform for the development of robotic technology and its applications. The kit features a modular design consisting of three boards: the Main board, the Motor control board, and the Imaging board. The Main board is powered by an STM32H725 MCU, which integrates various functionalities and controls both the motor board and the imaging board. The Motor board is based on an STM32G071 microcontroller, dedicated to motor control and actuation using motor drivers to regulate the speed and direction of the robot's movements. The Imaging board is equipped with a Time-of-Flight (ToF) sensor and a camera module, enabling the robot to perceive and interact with its surroundings intelligently. Additionally, an Inertial Measurement Unit (IMU) and a magnetometer enhance the board's capabilities by providing precise orientation and motion sensing, crucial for navigation and stability in dynamic environments. The Bluetooth Low Energy (BLE) module on the main board facilitates seamless wireless communication, enabling control via a mobile application interface.

The STSW-ROBKIT1 is a comprehensive software package for the STEVAL-ROBKIT1 Robotics Evaluation Kit, enabling high-performance robotic application development.

Key Features

Figure 1. STEVAL-ROBKIT1 Robotic application evaluation kit

Notice: For dedicated assistance, submit a request through our online support portal at www.st.com/support.

1 Acronyms and Abbreviations

Table 1. List of acronyms

Acronym Description
STEVAL-ROBKIT1-1 Main board
STEVAL-ROBKIT1-2 Motor board
STEVAL-ROBKIT1-3 Imaging Board
BLE Bluetooth low energy
MHz Mega Hertz
MCU Microcontroller unit
I2C Inter integrated circuit
ToF Time-of-Flight
API Application programming interface
HAL Hardware abstraction layer
IDE Integrated development environment
PID Proportional-integral-derivative controller

2 Getting Started

2.1 Overview

Users can program the STEVAL-ROBKIT1-1 (Main Board), STEVAL-ROBKIT1-2 (Motor Board) and BlueNRG2SA module on the main board to run the following using the STRobotics mobile application:

In addition to the above applications, users can utilize the on-board devices and sensors to add and evaluate their own firmware applications. Several ST products are used, including the BLE module and sensors on STEVAL-ROBKIT1:

Figure 2. STEVAL-ROBKIT1: Main Board, Motor Board and Imaging Board components

The STEVAL-ROBKIT1 system consists of three interconnected modules. The STEVAL-ROBKIT1-1 serves as the main board, linking both the STEVAL-ROBKIT1-3 (Imaging board) and the STEVAL-ROBKIT1-2 (Motor board). The Imaging board transmits TOF and camera data to the main board for processing. Equipped with onboard sensors, the main board processes this data and, based on the sensor inputs, executes algorithms that send commands to the Motor board to control the motors.

Figure 3. Block diagram of STEVAL ROBKIT 1

The block diagram of the main board is as follows:

Figure 4. Block diagram of STEVAL ROBKIT 1-1

The block diagram of the motor board is as follows:

Figure 5. Block diagram of STEVAL ROBKIT 1-2

The block diagram of the imaging board is as follows:

Figure 6. Block diagram of STEVAL ROBKIT 1-3

2.2 Architecture

The firmware is based on STM32Cube technology and expands STM32Cube based packages. The package provides a board support package (BSP) for the sensors and the middleware components for Bluetooth low energy communication with any external mobile device. The firmware driver layers to access and use the hardware components are:

Figure 7. High Level Firmware architecture of Robotics evaluation kit

2.3 Folder Structure

The STSW-ROBKIT1 is organized in two main folders, one containing the firmware for STEVAL-ROBKIT1-1 (Main Board): STSW-ROBKIT1-1, and the other one containing the firmware for STEVAL-ROBKIT1-2 (Motor Board): STSW-ROBKIT1-2. These are described in the next two sections.

Figure 8. The folder structure of the STEVAL-ROBKIT1-1

2.3.1 STSW-ROBKIT1-1: Firmware for Main Board

The firmware folder consists of the projects for IAR, Keil, and STM32CubeIDE with the application source and header files.

2.3.2 STSW-ROBKIT1-2: Firmware for Motor Board

Figure 9. The folder structure of the STEVAL-ROBKIT1-2

2.4 Hardware Requirements

To use the STSW-ROBKIT1 package, the following hardware is required:

2.5 Software Requirements

To use the STSW-ROBKIT1 package, the following software is required:

2.6 Board Setup

2.6.1 Setup for BLE Programming

Setting up a BLE (Bluetooth Low Energy) programming board involves several steps, including hardware setup and software setup. Here's a concise guide to help you get started:

Step 1. Follow the steps below to flash the DTM in BLE module:

Figure 10. STLINK Debugger connected to BLE_PROG connector (J5)

Step 2. Install the Software of RF-Flasher Utility by the given link STSW-BNRGFLASHER - The RF- Flasher utility - STMicroelectronics by following the below Figure 11.

Figure 11. Steps to install RF- Flasher Utility software

Current supported wireless devices are: BlueNRG-1, BlueNRG-2, BlueNRG-LP, BlueNRG-LP5.

Read more:

Get Software

Step 3. The BlueNRG-M2SA module on the STEVAL-ROBKIT1 comes preprogrammed with a Bluetooth Low Energy (BLE) stack binary, as described in the steps below:

Note: No reprogramming is needed for typical use cases, as the BlueNRG-M2SA module is ready to operate with this firmware.

Step 4. If the user needs to flash a custom firmware or reprogram the BlueNRG-M2SA module, open the RF Flasher Utility Software and follow the steps highlighted in Figure 12 to flash the custom DTM binary into the BLE module:

Figure 12. Steps to Flash the DTM using RF-Flasher Utility tool

Step 5. If the DTM flash is successful, then "Device Flash Programming -> SUCCESS" will be printed in the "Show log" Section.

2.6.2 Setup for STEVAL-ROBKIT1-1

Setting up the STEVAL-ROBKIT1-1 involves the following steps:

Step 1. Plug the 14-pin cable to the MCU_PROG connector (J1) on STEVAL-ROBKIT1-1 and connect it to the STLINK debugger as shown in Figure 13.

Figure 13. Connection with STLINK Debugger

Step 2. Plug the STLINK debugger to PC via USB Type-A to Type-micro-B USB cable as shown in Figure 13.

Step 3. Flash the provided testing firmware (STEVAL-ROBKIT1-1.hex) provided in the industrialization package. Follow the steps for flashing below:

Step 4. Click on the "Connect" tab to establish connection between the software and the hardware as shown in Figure 15.

Figure 14. Steps to download STM32Cube Programmer software

Figure 15. STM32 Cube Programmer steps

Step 5. Once the connection is established, the "Connected" icon can be seen as highlighted in Figure 17. Click on Start Programming to flash the STEVAL-ROBKIT1-1 board. If the flash is successful, then "File Download Complete" will be seen in the log section as highlighted in the Figure 16 below.

Figure 16. Steps to flash the binary in STEVAL-ROBKIT1-1 using STM32CubeProgrammer

Step 6. Open 'Tera-Term' on Desktop -> select the "Serial" option -> from the drop-down, note the COM port with "STMicroelectronics" name. For example, "COM6" in the Figure 17 below.

Figure 17. Tera Term opening screen

Step 7. Press the OK button. From the Tera Term menu -> Setup -> Serial Port, select the COM port (noted from the previous step), set speed to 115200, and click "New Open". This step will connect the user to the STEVAL_ROBKIT1-1. Refer to Figure 18 for reference.

Figure 18. Tera Term configuration

2.6.3 Setup for STEVAL ROBKIT1-2

Setting up the STEVAL-ROBKIT1-2 involves the following steps:

Step 1. Connect the STEVAL-ROBKIT1-2 board using the 12-pin ribbon cable. One end of the cable should be connected to the J7 of STEVAL-ROBKIT1-1 and the other end to the J1 connector of STEVAL-ROBKIT1-2 as highlighted in Figure 19.

Figure 19. STEVAL-ROBKIT1-1 connected with STEVAL-ROBKIT1-2

Step 2. Connect the STEVAL-ROBKIT1-1 with the power source using the J4 connector on the board as shown in Figure 20. STEVAL-ROBKIT1-1 connected with the power supply.

Figure 20. STEVAL-ROBKIT1-1 connected with the power supply

Step 3. Plug the 14-pin cable to the MCU_PROG connector (J2) on STEVAL-ROBKIT1-2 and connect it to the STLINK debugger as shown in Figure 21.

Figure 21. Connection with STLINK Debugger

Step 4. Plug the STLINK debugger to PC via USB Type-A to Type-C USB cable.

Step 5. Flash the provided testing firmware (STEVAL-ROBKIT1-2.hex) provided in the industrialization package. Follow the steps for flashing below:

Step 6. Click on the "Connect" tab to establish connection between the software and the hardware as shown in Figure 16.

Step 7. Once the connection is established, the "Connected" icon can be seen. Click on Start Programming to flash the STEVAL-ROBKIT1-2 board. If the flash is successful, then "File Download Complete" will be seen in the log section.

Step 8. Open 'Tera-Term' on Desktop -> select the "Serial" option -> from the drop-down, note the COM port with "STMicroelectronics" name.

Step 9. Press the OK button. From the Tera Term menu -> Setup -> Serial Port, select the COM port (noted from the previous step), set speed to 115200, and click "New Open". This step will connect the user to the STEVAL-ROBKIT1-2. Refer to Figure 17 for reference.

Note: The imaging board must be kept perpendicular to the surface since the applications mentioned in Section 3 are developed based on the VL53L8CX sensor kept with TILT_ANGLE = 0.

3 Applications

3.1 BLE Motion Sensor Application

The BLE motion sensor demo application in the STRobotics app is supported for the STEVAL-ROBKIT1 Robotics kit. This application shows how to implement a motion sensor demo custom profile application tailored for interacting with the STRobotics smartphone app. Once configured and connected, the BlueNRG-M2SA device on the main board (STEVAL-ROBKIT1-1) sends the data collected from the motion sensor (Accelerometer, Gyroscope, and Magnetometer) to the STRobotics smartphone app, which displays this information.

Running the Application:

Two versions (Android and iOS) of the smartphone STRobotics app are available for download.

Step 1. Install the app and launch it.

Note: Refer to the user manual STRobotics app, section 3 for detailed download and app installation procedure.

Step 2. Turn on the Robotics Kit: STEVAL-ROBKIT1. The app starts scanning for the peripheral device. A device called "ROBKIT1" appears on the screen.

Step 3. Select the "STEVAL-ROBKIT1" name and connect to the selected platform. The ST BLE Sensor app enables notifications on the motion characteristic (Accelerometer, Gyroscope, Magnetometer).

Step 4. On the home page, select the "Monitor" option and select sensor options to plot the received values. The sensor values are displayed on a graphical chart.

Figure 22. Expected output on STRobotics App for motion sensor data

Note: For the details of using the mobile application, refer to the STRobotics app User Manual.

3.2 BLE Remote Control Application

The BLE remote control demo application in the STRobotics app is supported for the STEVAL-ROBKIT1 Robotics kit. This application is designed to operate the connected Robotic Kit. In order to operate the kit, there are two joysticks designed in the smartphone app: one is the "Throttle Joystick", on the left side of the screen, which is used to move the robot in forward and backward direction based on user inputs, and the other one is the "Direction Joystick", on the right side of the screen, which is used to control the direction of the robot based on the angle provided by rotating the joystick wheel.

Running the Application:

Step 1. Turn on the Robotics Kit: STEVAL-ROBKIT1. The app starts scanning for the peripheral device. A device called "ROBKIT1" appears on the screen.

Step 2. Select the "ROBKIT1" name and connect to the selected platform. The STRobotics app enables notifications on the Robot Movement characteristic.

Step 3. On the home page, select the "Controller" option and select "drive" on the screen to operate the Robot using the joysticks as indicated in Figure 23.

Figure 23. Expected output on STRobotics App for Robotic Movement: Remote Control

3.3 Free Navigation Feature

The Free Navigation feature is an advanced functionality supported by the STEVAL-ROBKIT1 Robotics kit. This feature enables the robotic kit to autonomously navigate its environment without any manual user inputs. The robot is capable of avoiding obstacles, detecting edges and cliffs, and changing its direction independently, ensuring safe and efficient movement in various environments.

The free-navigation feature can be selected through the smartphone app: STRobotics app by selecting the "Autopilot" feature as shown in the Figure 24.

Figure 24. Autopilot mode for free navigation feature in STRobotics app

Figure 25. The high-level overview of the free navigation feature

3.4 Follow Me Navigation Feature

The Follow Me feature enables the STEVAL-ROBKIT1 robot to autonomously track and follow a target using its onboard Time-of-Flight (ToF) sensor. The sensor provides distance measurements by calculating the time that it takes for emitted light pulses to reflect off objects and return, enabling detection of the target's position in real time.

The detailed working of the feature is as follows:

Note: When enabling the FollowMe feature, keep the target approximately 10 cm in front of the kit to ensure proper target locking. Since this kit is equipped with only one ToF sensor, it is designed to follow slow-moving objects and may occasionally lose track of the target.

Figure 26. The high-level overview of the Follow Me navigation feature

3.5 Scene Description for ToF Data Visualization Feature

The scene description feature is a Bluetooth® LE service designed to transmit structured data, such as Time-ofFlight (ToF) sensor readings, in real-time using JSON format. It initializes a Bluetooth® LE characteristic with a notify property, enabling clients to receive updated data seamlessly. ToF data is retrieved, formatted into an 8x8 grid, serialized into a JSON object, and transmitted in chunks using a transport protocol to ensure compatibility with Bluetooth® LE's MTU. The middleware manages notifications, write requests, and characteristic updates, while the application code handles data formatting, serialization, and memory allocation. This feature allows users to monitor the kit's distance from objects in real time via a mobile application, enhancing usability and monitoring efficiency.

Navigate to the monitor screen of the STRobotics mobile application and select the 'ToF' option from the drop-down menu as highlighted in Figure 27. Utilize the color indicators and distance indicated in the matrix (in mm) for monitoring the ToF data in real time.

Figure 27. Scene description in STRobotics app

TOF Matrix

Figure 28. The high-level overview of the scene description feature

3.6 Debug Console Feature

The debug console feature in the Bluetooth® LE manager allows users to interact with the board via Bluetooth® LE by sending specific commands for debugging and control. It supports commands like:

Additionally, single string motor control commands such as 'F', 'B', 'S', L, R, P, and Q enable users to control the kit's movement (for example, forward, backward, stop, turn). Users can also extend this feature by creating their own custom commands to control the kit's movement as per their requirements, making it a versatile feature for debugging and customization.

Figure 29. Debug console feature in STRobotics app

3.7 Extended Configuration Feature

The "READ Version" Command under the Extended Configuration Command feature of the BLE Manager is used to display the controller and firmware name along with their versions on the STRobotics mobile app as shown in Figure 30. When executed, the command retrieves version details, formats them into a JSON object, and serializes it into a string. This string is then sent to the mobile app, allowing users to view the version information directly on the app. This feature is essential for verifying firmware versions and ensuring compatibility during development and deployment.

Figure 30. Firmware info and version display on STRobotics app through extended configuration feature

3.8 State Machine for STEVAL-ROBKIT1-2: Motor Board

The flowchart below represents a state machine for STEVAL-ROBKIT1-2. It begins in the INIT state where all peripheral initialization happens and then transitions to an IDLE state from where it can execute various commands or checks. Each command or check returns the system to the IDLE state, ensuring it is ready for the next command. The design emphasizes simplicity in adding new commands and quick responsiveness to external events.

Figure 31. State Machine for STSW-ROBKIT1-2

States and Transitions:

  1. INIT (Initial State)
    • The system starts in the INIT state; all peripheral initialization happens in this state.
    • It transitions to the IDLE state.
  2. IDLE (Idle State)
    • This is the central state from which various commands can be initiated.
    • From the IDLE state, the system can transition to the following states using corresponding commands:
      • Forward: "start_forward"
      • Backward: "start_backward"
      • Forward time: "start_forward_time"
      • Backward time: "start_backward_time"
      • Forward distance: "start_forward_distance"
      • Backward distance: "start_backward_distance"
      • Angle: "angle_control"
      • STOP: "stop_motors"
      • Clear odometry: "clear_odometry"
      • CHECK TIME
      • CHECK DIST
      • CHECK ANGLE
      • Curve: "go_curve"
      • Reverse Curve: "go_rcurve_rev"
  3. Command States
    • "clear_odometry": Command to clear the odometry data.
    • "start_forward": Command to move forward infinitely.
    • "start_backward": Command to move backward infinitely.
    • "start_forward_time": Move forward for a specific amount of time.
    • "start_backward_time": Move backward for a specific amount of time.
    • "start_forward_distance": Move forward for a specific distance.
    • "start_backward_distance": Move backward for a specific distance.
    • "angle_control": This command rotates the robot by a specified angle.
    • "stop_motors": This command stops the rotation of both motors.

    Each of these command states transitions back to the IDLE state after execution.

    • "go_curve": This command moves the robot making a curve towards the left or right direction based on the angle provided. A positive angle will make a right curve, and a negative angle will make a left curve.
    • "go_rcurve_rev": This command moves the robot making a reverse curve towards the left or right in reverse direction based on the angle provided. A positive angle will make a reverse right curve, and a negative angle will make a reverse left curve.
  4. STOP
    • This state represents the stop after the required action is achieved (distance, time, and angle).
    • The motors are stopped, and the robot transitions back to the IDLE state.
  5. CHECK States
    • CHECK TIME: Check the time-related parameter
    • CHECK DIST: Check the distance-related parameter
    • CHECK ANGLE: Check the angle-related parameter

    Each of these states transitions back to the IDLE state after execution.

Revision History

Table 2. Document revision history

Date Revision Changes
18-Dec-2024 1 Initial release.
01-Aug-2025 2 Updated Figure 1. STEVAL-ROBKIT1 Robotic application evaluation kit, Figure 7. High Level Firmware architecture of Robotics evaluation kit, Section 2.3.1: STSW-ROBKIT1-1: firmware for Main Board, Section 2.6: Board setup, Figure 24. Autopilot mode for free navigation feature in STRobotics app and Section 3.8: State machine for STEVAL-ROBKIT1-2: motor board. Added Section 3.5: Scene description for ToF data visualization feature, Section 3.6: Debug console feature, Section 3.4: Follow Me navigation feature and Section 3.7: Extended configuration feature.

Contents

List of Tables

List of Figures

IMPORTANT NOTICE - READ CAREFULLY

STMicroelectronics NV and its subsidiaries ("ST") reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST products and/or to this document at any time without notice.

In the event of any conflict between the provisions of this document and the provisions of any contractual arrangement in force between the purchasers and ST, the provisions of such contractual arrangement shall prevail.

The purchasers should obtain the latest relevant information on ST products before placing orders. ST products are sold pursuant to ST's terms and conditions of sale in place at the time of order acknowledgment.

The purchasers are solely responsible for the choice, selection, and use of ST products, and ST assumes no liability for application assistance or the design of the purchasers' products.

No license, express or implied, to any intellectual property right is granted by ST herein.

Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.

If the purchasers identify an ST product that meets their functional and performance requirements but that is not designated for the purchasers' market segment, the purchasers shall contact ST for more information.

ST and the ST logo are trademarks of ST. For additional information about ST trademarks, refer to www.st.com/trademarks. All other product or service names are the property of their respective owners.

Information in this document supersedes and replaces information previously supplied in any prior versions of this document.

(c) 2025 STMicroelectronics - All rights reserved

Models: STEVAL-ROBKIT1-1, STEVAL-ROBKIT1-2, STEVAL-ROBKIT1-3, UM3456, STEVAL-ROBKIT1 Robotics Evaluation Kit, STEVAL-ROBKIT1, Robotics Evaluation Kit, Evaluation Kit, Kit

File Info : application/pdf, 35 Pages, 4.59MB

PDF preview unavailable. Download the PDF instead.

um3456-getting-started-with-stswrobkit1-for-stevalrobkit1-robotics-evaluation-kit-stmicroelectronics

References

C2 v20.4.0000 build 240 - c2 rendition config : Techlit Active Antenna House PDF Output Library 7.2.1732; modified using iText 2.1.7 by 1T3XT

Related Documents

Preview STSW-WBC2STUDIO User Guide - Software for Wireless Power Transfer
Comprehensive user guide for the STSW-WBC2STUDIO software, detailing installation, features, and hardware connections for STMicroelectronics wireless power transfer evaluation kits.
Preview STMicroelectronics STEVAL-25R300KA UK Declaration of Conformity - NFC Evaluation Kit
Official UK Declaration of Conformity for the STMicroelectronics STEVAL-25R300KA NFC evaluation kit. Details compliance with UK Radio Equipment Regulations and RoHS directives, product specifications, and testing standards.
Preview STSW-WPSTUDIO: Wireless Power Evaluation GUI - STMicroelectronics
Data brief for STSW-WPSTUDIO, a graphical user interface from STMicroelectronics for tuning and designing wireless power devices, supporting STWLC38, STWLC98, STWLC99, and STWBC86 evaluation boards.
Preview STBLEMesh: BLE Mesh Application for Android and iOS | STMicroelectronics
Explore STMicroelectronics' STBLEMesh, a comprehensive SDK and mobile application framework for developing Bluetooth® Mesh Profile compliant applications on Android and iOS. Features include provisioning, configuration, and control for IoT solutions.
Preview ST25R300 Evaluation Board GUI User Manual
This user manual provides a detailed description of the ST25R300 evaluation board GUI, which allows users to communicate with the STEVAL-25R300KA evaluation board, change settings, and evaluate its features. It covers software installation, hardware preparation, and the various modes and features of the GUI, including Board Info, Overview, Power, Antenna, Wake-up, Analog Config, DPO CR, DLMA, and Debug functionalities.
Preview STEVAL-AETKT1V2 Evaluation Kit for High Voltage Bidirectional Current Sense Amplifier | STMicroelectronics
Data brief for the STEVAL-AETKT1V2 evaluation kit from STMicroelectronics, designed for high voltage bidirectional current sensing applications using TSC2010, TSC2011, and TSC2012 ICs.
Preview STM32 PMSM FOC SDK 4.3 Getting Started Guide
A comprehensive guide to help developers get started with the STM32 PMSM FOC SDK, covering hardware setup, software installation, motor profiling, project finalization, and motor control using STMicroelectronics' tools and evaluation boards.
Preview STM32 FP-SNS-FLIGHT1 Quick Start Guide: BLE and Time-of-Flight Sensors
A quick start guide for the STM32Cube function pack FP-SNS-FLIGHT1, enabling IoT nodes with BLE connectivity and Time-of-Flight sensors. Covers hardware overview, setup, demo examples, and software.