2411157_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2411157_en-US

2411157_en-US

Getting Started with UWB on the NXP Trimension® SR250 - Part 2: SR250UWBSHIELD + FRDM-RW612 Setup Guide (Japanese Blog)

1. Introduction


In the first installment, we introduced the SR250 as a device that integrates UWB ranging and UWB radar onto a single chip, and that it was released for the mass market in March 2026.

From this point on, we'll finally get the board working. Let's go through the process together, from obtaining the evaluation board to verifying its operation.

1st Basics of UWB and an overview of the SR250
Part 2 (This article) Setting up the SR250 evaluation board (SR250UWBSHIELD)
3rd Let's try UWB ranging.
4th Try out UWB radar.

There are two main ways to try out the SR250: the build-free PnP (Plug-and-Play) route and the Zephyr SDK route for full-fledged development. The necessary preparations differ depending on which route you choose, so it's best to decide beforehand. Those who want to do both are also very welcome!

While it can run on systems other than Windows, this guide will use the command prompt on a Windows PC.

root For people like this Development environment
A. PnP First, I want to try it out easily! Python + PySerial only
B. Zephyr SDK I want to develop this seriously and combine it with BLE. Git・CMake・Python・Zephyr SDK


2. Hardware Preparation (Common to A and B)


Required hardware


For UWB distance measurement, a device on the other end is required. If you have two sets, you can measure distance between two SR250 UWB SHIELD boards. If you have a smartphone equipped with UWB, you can measure distance to the smartphone with just one set.

  • SR250UWBSHIELD : Arduino-compatible shield board equipped with SR250.
  • FRDM-RW612 : Host MCU board ( Wi-Fi 6 / Bluetooth Low Energy 5.4 / 802.15.4 equipped)
  • Two USB Type-C cables
    • One cable is included with the FRDM-RW612, so please prepare another one.
    • You will need a cable that supports data communication, not just a charging-only cable.
    • The connector that connects to the PC can be either Type-A or Type-C.

Regarding USB connection


The SR250UWBSHIELD + FRDM-RW612 requires two USB-C cables to operate. Let's review the purpose of each cable.

connector Purpose remarks
J10 (MCU-Link) Power supply, programming, and debugging. This connection is required. Without it, the power will not turn on.
J8 (HS-USB) Serial communication (Virtual COM Port) When checking the COM port, use the port number on the J8 side.

Two COM ports will appear in Windows Device Manager, but the one used for serial communication is the COM port on the J8 (HS-USB) device. It will be displayed as "USB Serial Device (COMx)".


Rework: Critical tasks that need to be checked first.


The SR250-ARD shield and FRDM-RW612 communicate via SPI, but SPI does not function correctly with the default Arduino header wiring. Please address this using one of the following two methods.

Method 1: Rework by soldering (recommended)

If you have a soldering iron, I recommend reworking the SPI lines. Once done, you won't need any cables, resulting in a cleaner setup.

For detailed rework procedures, please refer to the Start Guide: Start Guide for the Trimension SR250 Development Board

FRDM-RW612_rework.jpg

Method 2: Alternative connection using jumper wires (for those who want to try it easily)

If you want to try it without soldering, connect the Arduino header pins of the FRDM-RW612 with two female-to-female jumper wires as shown below.

FRDM-RW612_jumper_rework.jpg

If you'd like to test the functionality first, please use this method.


3A. PnP Route: Easily try it with just Python


The PnP application requires no build; you can directly control the SR250 from your PC using the USB serial communication and SPI communication protocol converter firmware (PnP firmware) for the FRDM-RW612, available on GitHub. You can verify its operation simply by running a Python UCI script from your PC.

When preparing, you will encounter two different firmwares. The first one to be written is the protocol conversion firmware that operates within the RW612. After that, you will update the SR250's firmware. The writing methods for each are different (RW612 via ISP mode, SR250 via PnP firmware), so please pay attention to the procedure.

 

Obtain the necessary files from GitHub. You can download the ZIP file from the "Code" dropdown menu in the upper right corner.

GitHub: SR250 UWB Plug-and-Play Application

Github_download.jpg

Required software

  • Python 3.x
  • PySerial:pip install pyserial


procedure

Step 1: Write the firmware for RW612 PnP

ISPモード.jpg

  1. Connect two USB cables (J10 and J8).
  2. To start the RW612 in ISP mode (In-System Programming), which is a firmware writing-only mode: Press and hold SW3 (ISP), then press and release SW1 (Reset) → Release SW3.
  3. To write the firmware to the RW612 using ISP over USB, double-click the program_FRDM-RW612.bat file located in the FRDM-RW612_PnP folder to run the batch file:
FRDM-RW612_PnP/program_FRDM-RW612.bat

PnP_application_flashing.png

Most errors are caused by the device not starting in ISP mode. If you have difficulty entering ISP mode using switch 2, try connecting the USB to J10 while holding down SW3.

Once the batch file processing is complete, unplug the USB cable, replug it, and restart the board.


Step 2: SR250 FW Update

To update the SR250's firmware, double-click Update_SR250_FW.bat located in the SR250_FW folder to run the batch file:

SR250_FW/Update_SR250_FW.bat

FW_update.png

If successful, unplug the USB cable, replug it, and restart the board.


Step 3: Operation Check

  1. Check the COM port number for communication on the J8 side in Device Manager (e.g., COM10).
  2. Start the Python script located in the Simple_demos folder, using the COM port number you just confirmed as an argument, and verify that communication is successful.

ポート.jpg

python demo_ranging.py COM10

demo_ranging_log.jpg

The PnP route setup is now complete!


3B. Zephyr SDK Route: For full-scale development


This route uses a Zephyr OS-based SDK for building and debugging. It supports integration with BLE and the development of custom applications.

There are two methods: using VS Code + MCUXpresso, and using the west command line. Either method is fine. Here, we will introduce the method using the west command in a Windows environment. Let's start by creating a folder as close to the root of the C drive as possible.

For instructions on using VS Code with MCUXpresso, please refer to the Getting Started guide or the MCUXpresso for VS Code documentation . Please also refer to the important points regarding using VS Code with MCUXpresso, which are listed at the end of this document.

Required software


There are dependencies between the Zephyr version and the Zephyr SDK. This procedure uses Zephyr SDK 0.17.x Please install it. Different SDK versions may cause build errors.

Make sure you have Ninja and West installed.

pip3 install west ninja
  • Serial terminal: TeraTerm, PuTTY, or any other serial terminal of your choice.

Environment setup procedure


Step 1: Clone the repository

git clone https://github.com/nxp-uwb/sr250-uwbiot-zephyr.git

Step 2: west initialization

cd sr250-uwbiot-zephyr
west init -l --mf west.yml uwbiot-top

Step 3: Obtain Dependencies

west update

west update This process will take some time to complete. If it stops midway, please restart it. Proceeding to the next step before completion will cause a build error.

Step 4: Install Python dependency packages

pip install -r zephyr\scripts\requirements.txt

Step 5: Setting environment variables

Set the path to the Zephyr SDK in your environment variables.

zephyr\zephyr-env.cmd


Build and write


Since an update is required first, we will build a demo for the firmware update.

west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_sr2xx_fw_update\zephyr

I will write to the file once the build is successful.

west build

We will check the logs via serial communication. By default, the code is executed only after communication is established.

  1. Connect two USB cables (J10 and J8).
  2. Check the COM port number on the side connected to J8 (see Step 3: Operation Check for PnP Root).
  3. Launch your terminal software and configure the port as follows:

ポート設定.jpg

Set the baud rate to 3,000,000 bps . Many terminal programs, such as TeraTerm and PuTTY, do not display 3,000,000 as a baud rate option. Even if it's not in the options, you can enter it manually . Type "3000000" into the text box.

If the log message " Success!" appears at the end, as shown below, then it was successful.

FWupdate_log.jpg



Similarly, build and flash the calibration demo.

west build -b frdm_rw612 -p auto uwbiot-top\demos\SR2xx\demo_device_calibration\zephyr
west flash

Calib_log.jpg


The Zephyr SDK root setup is now complete!


Points to note


Windows path length limit (MAX_PATH)

Windows has a default path length limit of 260 characters. Zephyr repositories have a deep directory structure, which can cause this limitation to be exceeded. We strongly recommend saving your project in a location close to the root of the C drive (e.g., C:\uwb\ ). Placing it in a deeper directory structure like C:\Users\username\Documents\Projects\... will cause the path generated by Zephyr's build system to exceed the limit and result in an error. This issue is more pronounced with VS Code + MCUXpresso. If it's difficult to place it close to the root of the C drive, please consider the following workarounds.

How to do it:

  • We recommend using WSL2 (Windows Subsystem for Linux).
  • Alternatively, enable LongPathsEnabled in the Windows registry.


Notes on importing projects in VS Code + MCUXpresso

When importing a project, you need to set the App type to "Repository application" . This is not highlighted in the Getting Started guide, but it is a point where build errors are likely to occur if you get it wrong. Please be sure to check this.

Repository_app.jpg


Cases where a pristine build is required

If you change build options or the error persists, try a pristine build:

west build --pristine -b frdm_rw612 sr250-uwbiot-zephyr/samples/demo_uwb_controller


FW version error

demo_sr2xx_fw_update Running other demos before executing this will result in a firmware version error. Always perform the firmware update first.


Next episode preview


Once the environment is set up, we'll finally run the demo. Next time, we'll explain how to run the UWB ranging demo using two different routes: the PnP route and the Zephyr SDK route. Stay tuned!


Reference links


=========================

We are currently unable to respond to comments left in the "Comment" section of this post.
We apologize for the inconvenience, but please refer to " Technical Questions to NXP - How to Contact Us( Japanese Blog) " when making an inquiry.
(If you are already an NXP distributor or have a relationship with NXP, you may ask your representative directly.)


In the first installment, we introduced the features of the SR250 (integration of UWB ranging and UWB radar on a single chip). In the second installment, we will set up an environment to actually run the SR250 using the evaluation board SR250UWBSHIELD + FRDM-RW612. We will explain two routes: the build-free PnP (Plug-and-Play) route and the Zephyr SDK route for full-fledged development.

(Estimated work time: 10 minutes)

Japanese Blog
タグ(1)
評価なし
バージョン履歴
最終更新日:
金曜日
更新者: