Skip to content

Commit 5622e24

Browse files
committed
UWB content update w/ official library links and resources
1 parent 785f6dc commit 5622e24

File tree

5 files changed

+32
-26
lines changed

5 files changed

+32
-26
lines changed

content/hardware/04.pro/shields/portenta-uwb-shield/essentials.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ productsLibrariesMap:
1515
<EssentialElement link="https://github.com/arduino-libraries/Arduino_Pro_Tutorials" title="Arduino Pro Tutorials" type="library">
1616
The complete Arduino sketches from the Pro tutorials.
1717
</EssentialElement>
18+
<EssentialElement link="https://github.com/Truesense-it/PortentaUWBShield" title="Portenta UWB Shield Library" type="library">
19+
Ultra-Wideband communication library for the Portenta UWB Shield.
20+
</EssentialElement>
1821
</EssentialsColumn>
1922

2023
<EssentialsColumn title="Arduino Basics">

content/hardware/04.pro/shields/portenta-uwb-shield/tutorials/01.user-manual/content.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ This user manual provides a comprehensive overview of the Portenta UWB Shield, h
3232
### Software Requirements
3333

3434
- [Arduino IDE 2.0+](https://www.arduino.cc/en/software)
35-
- [`ardUWBSr150` library](https://github.com/arduino-libraries/ardUWBSr150) (designed for the Portenta UWB Shield)
36-
- [`ardUWBSr040` library](https://github.com/arduino-libraries/ardUWBSr040) (designed for the Arduino Stella)
35+
- [`PortentaUWBShield` library](https://github.com/Truesense-it/PortentaUWBShield) (designed for the Portenta UWB Shield)
36+
- [`StellaUWB` library](https://github.com/Truesense-it/StellaUWB) (designed for the Arduino Stella)
3737
- [`ArduinoBLE` library](https://github.com/arduino/ArduinoBLE)
3838
- [Arduino Renesas Portenta Boards core](https://github.com/arduino/ArduinoCore-renesas) (required to work with the Portenta C33 board)
3939

@@ -53,7 +53,7 @@ Ultra-Wideband (UWB) is a radio technology that uses very low energy levels for
5353

5454
#### UWB vs. Traditional Narrowband Technologies
5555

56-
The fundamental difference between UWB and traditional wireless technologies (Wi-Fi, Bluetooth, Zigbee® and Cellular) lies in their transmission methods:
56+
The fundamental difference between UWB and traditional wireless technologies (Wi-Fi®, Bluetooth®, Zigbee® and Cellular) lies in their transmission methods:
5757

5858
| **Feature** | **Traditional Narrowband Radio** | **Ultra-Wideband Impulse Radio** |
5959
|:--------------:|:------------------------------------:|:----------------------------------:|
@@ -67,7 +67,7 @@ Traditional narrowband systems use frequency or amplitude modulation to send dat
6767

6868
#### Key Characteristics of UWB
6969

70-
- **High precision**: UWB can determine the relative position of devices with centimeter-level accuracy (typically 5-10 cm), far more precise than GPS (meters), Bluetooth (1-3 meters) or Wi-Fi (2-15 meters).
70+
- **High precision**: UWB can determine the relative position of devices with centimeter-level accuracy (typically 5-10 cm), far more precise than GPS (meters), Bluetooth® (1-3 meters) or Wi-Fi® (2-15 meters).
7171
- **Low-power consumption**: Despite its high data rates, UWB consumes very little power, making it suitable for battery-operated devices and long-term deployments.
7272
- **Short range**: Typically effective within 10-30 meters, making it ideal for indoor positioning applications where GPS signals are weak or unavailable.
7373
- **Strong security**: The unique physical layer characteristics of UWB, including its wide bandwidth and low power spectral density, make it more resistant to jamming, eavesdropping, and relay attacks compared to other wireless technologies.
@@ -154,7 +154,7 @@ The Portenta UWB Shield and the Arduino Stella use different libraries and board
154154

155155
#### Portenta UWB Shield Library
156156

157-
The [`ardUWBSr150` library](https://github.com/arduino-libraries/ardUWBSr150) contains an application programming interface (API) to read data from the Portenta UWB Shield and control its parameters and behavior. This library is designed to work with the DCU150 module on the shield and supports the following:
157+
The [`PortentaUWBShield` library](https://github.com/Truesense-it/PortentaUWBShield) contains an application programming interface (API) to read data from the Portenta UWB Shield and control its parameters and behavior. This library is designed to work with the DCU150 module on the shield and supports the following:
158158

159159
- One-way ranging (Time Difference of Arrival - TDoA) and two-way ranging (TWR).
160160
- Angle of Arrival (AoA) measurement for 2D and 3D positioning.
@@ -164,20 +164,20 @@ The [`ardUWBSr150` library](https://github.com/arduino-libraries/ardUWBSr150) co
164164

165165
#### Arduino Stella Library
166166

167-
For two-way ranging experiments between the Portenta UWB Shield and Arduino Stella, you'll also need the [`ardUWBSr040` library](https://github.com/arduino-libraries/ardUWBSr040). This library provides similar functionality but is specifically optimized for the DCU040 module in the Stella board.
167+
For two-way ranging experiments between the Portenta UWB Shield and Arduino Stella, you'll also need the [`StellaUWB` library](https://github.com/Truesense-it/StellaUWB). This library provides similar functionality but is specifically optimized for the DCU040 module in the Stella board.
168168

169169
***The Arduino mbed OS Boards core is required to work with Stella's nRF52840 microcontroller.***
170170

171-
#### Bluetooth Communication
171+
#### Bluetooth® Communication
172172

173-
For examples that use Bluetooth Low Energy (BLE) communication (like the Nearby Demo), you'll also need the [`ArduinoBLE` library](https://github.com/arduino/ArduinoBLE). This library enables BLE functionality for device discovery and initial connection setup before UWB ranging begins.
173+
For examples that use Bluetooth® Low Energy (BLE) communication (like the Nearby Demo), you'll also need the [`ArduinoBLE` library](https://github.com/arduino/ArduinoBLE). This library enables BLE functionality for device discovery and initial connection setup before UWB ranging begins.
174174

175175
#### Installing the Libraries and Board Cores
176176

177177
To install the required libraries:
178178

179179
1. Navigate to `Tools > Manage libraries...` or click the **Library Manager** icon in the left tab of the Arduino IDE.
180-
2. In the Library Manager tab, search for the library name (`ardUWBSr150`, `ardUWBSr040`, or `ArduinoBLE`).
180+
2. In the Library Manager tab, search for the library name (`PortentaUWBShield`, `StellaUWB`, or `ArduinoBLE`).
181181
3. Click "Install" to install the latest version of each library.
182182

183183
![Installing the board's library in the Arduino IDE](assets/user-manual-3.png)
@@ -190,7 +190,7 @@ To install the required board cores:
190190

191191
![Installing the board's core in the Arduino IDE](assets/user-manual-4.png)
192192

193-
***<strong>Important note:</strong> Make sure to install both the appropriate library and board core for your specific hardware. The Portenta UWB Shield with Portenta C33 requires the `ardUWBSr150` library and Arduino Renesas Boards core. For examples involving Arduino Stella, you'll need the `ardUWBSr040` library and Arduino mbed OS Boards core. For examples involving BLE communication, both devices will need the `ArduinoBLE` library installed.***
193+
***<strong>Important note:</strong> Make sure to install both the appropriate library and board core for your specific hardware. The Portenta UWB Shield with Portenta C33 requires the `PortentaUWBShield` library and Arduino Renesas Boards core. For examples involving Arduino Stella, you'll need the `StellaUWB` library and Arduino mbed OS Boards core. For examples involving BLE communication, both devices will need the `ArduinoBLE` library installed.***
194194

195195
### Pinout
196196

@@ -244,19 +244,19 @@ Align the shield's High-Density connectors with those on the Portenta C33 board
244244

245245
The Portenta UWB Shield is powered exclusively through the `VCC` pins (+3.3 VDC) of its High-Density Connectors. These connectors are designed to be used with boards from the Portenta family, such as the Portenta C33 board. The power is supplied directly from the connected Portenta family board, which acts as the power source for the Portenta UWB Shield.
246246

247-
***<strong>Important note:</strong> The Portenta UWB Shield does not have an independent power input. It receives power only through the High-Density connectors when properly connected to a Portenta C33 board. Additionally, if you plan to use Bluetooth Low Energy (BLE) functionality, make sure to connect an antenna to the Wi-Fi/Bluetooth module of the Portenta C33 for optimal wireless performance.***
247+
***<strong>Important note:</strong> The Portenta UWB Shield does not have an independent power input. It receives power only through the High-Density connectors when properly connected to a Portenta C33 board. Additionally, if you plan to use Bluetooth® Low Energy (BLE) functionality, make sure to connect an antenna to the Wi-Fi®/Bluetooth module of the Portenta C33 for optimal wireless performance.***
248248

249249
### Nearby World Example
250250

251-
Let's use the Portenta UWB Shield with the Portenta C33 to create a real-time distance measurement system using UWB technology. We will implement what we call the `Nearby World` example (based on the `NearbyDemo` sketch), which serves as our `Hello World` sketch for UWB technology. This example will verify the Portenta UWB Shield's connection to the host board, the host board's connection to the Arduino IDE and that the `ardUWBSr150` library and both the board and the shield are working as expected.
251+
Let's use the Portenta UWB Shield with the Portenta C33 to create a real-time distance measurement system using UWB technology. We will implement what we call the `Nearby World` example (based on the `NearbyDemo` sketch), which serves as our `Hello World` sketch for UWB technology. This example will verify the Portenta UWB Shield's connection to the host board, the host board's connection to the Arduino IDE and that the `PortentaUWBShield` library and both the board and the shield are working as expected.
252252

253253
***This example sketch leverages Apple's Nearby Interaction protocol and similar UWB implementations on Android devices to establish a communication channel between the Portenta UWB Shield and a UWB-enabled smartphone, allowing precise distance and angle measurements.***
254254

255255
#### How It Works
256256

257257
The `Nearby World` example demonstrates the core functionality of UWB technology through a simple example sketch that can be described in the following key steps:
258258

259-
1. **BLE connection setup**: The Portenta UWB Shield establishes a Bluetooth Low Energy (BLE) connection with a compatible smartphone app.
259+
1. **BLE connection setup**: The Portenta UWB Shield establishes a Bluetooth® Low Energy (BLE) connection with a compatible smartphone app.
260260
2. **Configuration exchange**: The BLE connection is used to exchange necessary UWB configuration parameters.
261261
3. **UWB ranging**: Once configured, the actual UWB ranging session begins, providing precise distance measurements.
262262
4. **Real-time feedback**: Distance data is continuously updated and can be viewed on the IDE's Serial Monitor and the smartphone app.
@@ -574,8 +574,8 @@ uint16_t numConnected = 0;
574574

575575
The code includes two essential libraries:
576576

577-
- `ArduinoBLE`: Provides Bluetooth Low Energy (BLE) functionality for device discovery and initial connection.
578-
- `ardUWBSr150`: The core library that enables interaction with the UWB hardware on the Portenta UWB Shield.
577+
- `ArduinoBLE`: Provides Bluetooth® Low Energy (BLE) functionality for device discovery and initial connection.
578+
- `PortentaUWBShield`: The core library that enables interaction with the UWB hardware on the Portenta UWB Shield.
579579

580580
The `numConnected` variable tracks how many BLE clients are currently connected to the Portenta UWB Shield.
581581

@@ -916,8 +916,8 @@ The Two-Way Ranging example demonstrates a more direct approach to UWB communica
916916

917917
Both devices use their respective UWB libraries:
918918

919-
- The Portenta UWB Shield uses `ardUWBSr150.h` (for the DCU150 module)
920-
- The Stella uses `ardUWBSr040.h` (for the DCU040 module)
919+
- The Portenta UWB Shield uses `PortentaUWBShield.h` (for the DCU150 module)
920+
- The Stella uses `StellaUWB.h` (for the DCU040 module)
921921

922922
Both sketches configure MAC addresses for identification:
923923

content/hardware/04.pro/shields/portenta-uwb-shield/tutorials/02.uwb-access-control-system/content.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ This application note has the following objectives:
5252

5353
- [Arduino IDE 2.0+](https://www.arduino.cc/en/software)
5454
- [Portenta UWB Shield library](https://github.com/Truesense-it/PortentaUWBShield) (for the Portenta UWB Shield)
55-
- [Arduino Stella library](https://github.com/arduino-libraries/ardUWBSr040) (for the Arduino Stella)
55+
- [Arduino Stella library](https://github.com/Truesense-it/StellaUWB) (for the Arduino Stella)
5656
- [Arduino Renesas Portenta Boards core](https://github.com/arduino/ArduinoCore-renesas) (for the Portenta C33)
5757
- [Arduino mbed OS Boards core](https://github.com/arduino/ArduinoCore-mbed) (for the Arduino Stella)
5858

content/hardware/05.pro-solutions/solutions-and-kits/stella/essentials.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ productsLibrariesMap:
1414
<EssentialElement link="https://github.com/arduino-libraries/Arduino_Pro_Tutorials" title="Arduino Pro Tutorials" type="library">
1515
The complete Arduino sketches from the Pro tutorials.
1616
</EssentialElement>
17+
<EssentialElement link="https://github.com/Truesense-it/StellaUWB" title="Stella UWB Library" type="library">
18+
Ultra-Wideband communication library for the Arduino Stella board.
19+
</EssentialElement>
1720
</EssentialsColumn>
1821

1922
<EssentialsColumn title="Arduino Basics">

content/hardware/05.pro-solutions/solutions-and-kits/stella/tutorials/01.user-manual/content.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ This user manual provides a comprehensive overview of the Arduino Stella, highli
3333
### Software Requirements
3434

3535
- [Arduino IDE 2.0+](https://www.arduino.cc/en/software)
36-
- [`ardUWBSr040` library](https://github.com/arduino-libraries/ardUWBSr040) (designed for the Arduino Stella)
37-
- [`ardUWBSr150` library](https://github.com/arduino-libraries/ardUWBSr150) (designed for the Portenta UWB Shield)
36+
- [`StellaUWB` library](https://github.com/Truesense-it/StellaUWB) (designed for the Arduino Stella)
37+
- [`PortentaUWBShield` library](https://github.com/Truesense-it/PortentaUWBShield) (designed for the Portenta UWB Shield)
3838
- [`ArduinoBLE` library](https://github.com/arduino/ArduinoBLE)
3939
- [Arduino mbed OS Boards core](https://github.com/arduino/ArduinoCore-mbed) (required for the nRF52840 microcontroller of the Arduino Stella)
4040

@@ -149,7 +149,7 @@ The Arduino Stella and Portenta UWB Shield use different libraries and board cor
149149

150150
#### Arduino Stella Library
151151

152-
The [`ardUWBSr040` library](https://github.com/arduino-libraries/ardUWBSr040) contains an application programming interface (API) to read data from the Arduino Stella and control its parameters and behavior. This library is designed to work with the DCU040 module on the Arduino Stella and supports the following:
152+
The [`StellaUWB` library](https://github.com/Truesense-it/StellaUWB) contains an application programming interface (API) to read data from the Arduino Stella and control its parameters and behavior. This library is designed to work with the DCU040 module on the Arduino Stella and supports the following:
153153

154154
- One-way ranging (Time Difference of Arrival - TDoA) and two-way ranging (TWR).
155155
- Power management for battery-efficient operation.
@@ -160,7 +160,7 @@ The [`ardUWBSr040` library](https://github.com/arduino-libraries/ardUWBSr040) co
160160

161161
#### Portenta UWB Shield Library
162162

163-
If you plan to use the Arduino Stella with a Portenta UWB Shield for two-way ranging, you'll also need the [`ardUWBSr150` library](https://github.com/arduino-libraries/ardUWBSr150) for the Portenta UWB Shield. This library is specifically designed for the DCU150 module used in the shield.
163+
If you plan to use the Arduino Stella with a Portenta UWB Shield for two-way ranging, you'll also need the [`PortentaUWBShield` library](https://github.com/Truesense-it/PortentaUWBShield) for the Portenta UWB Shield. This library is specifically designed for the DCU150 module used in the shield.
164164

165165
***The [Arduino Renesas Portenta Boards core](https://github.com/arduino/ArduinoCore-renesas) is required to work with the Portenta C33 board that hosts the UWB Shield.***
166166

@@ -173,7 +173,7 @@ For examples that use Bluetooth Low Energy (BLE) communication, you'll also need
173173
To install the required libraries:
174174

175175
1. Navigate to `Tools > Manage libraries...` or click the **Library Manager** icon in the left tab of the Arduino IDE.
176-
2. In the Library Manager tab, search for the library name (`ardUWBSr040`, `ardUWBSr150`, or `ArduinoBLE`).
176+
2. In the Library Manager tab, search for the library name (`StellaUWB`, `PortentaUWBShield`, or `ArduinoBLE`).
177177
3. Click "Install" to install the latest version of each library.
178178

179179
![Installing the board's library in the Arduino IDE](assets/user-manual-3.png)
@@ -186,7 +186,7 @@ To install the required board cores:
186186

187187
![Installing the board's core in the Arduino IDE](assets/user-manual-4.png)
188188

189-
***<strong>Important note:</strong> Make sure to install both the appropriate library and board core for your specific hardware. The Arduino Stella requires the `ardUWBSr040` library and Arduino mbed OS Boards core, while the Portenta UWB Shield with Portenta C33 requires the `ardUWBSr150` library and Arduino Renesas Boards core. For examples involving BLE communication, both devices will need the `ArduinoBLE` library installed.***
189+
***<strong>Important note:</strong> Make sure to install both the appropriate library and board core for your specific hardware. The Arduino Stella requires the `StellaUWB` library and Arduino mbed OS Boards core, while the Portenta UWB Shield with Portenta C33 requires the `PortentaUWBShield` library and Arduino Renesas Boards core. For examples involving BLE communication, both devices will need the `ArduinoBLE` library installed.***
190190

191191
### Pinout
192192

@@ -981,8 +981,8 @@ The Two-Way Ranging example demonstrates a more direct approach to UWB communica
981981

982982
Both devices use their respective UWB libraries:
983983

984-
- The Portenta UWB Shield uses `ardUWBSr150.h` (for the DCU150 module)
985-
- The Arduino Stella uses `ardUWBSr040.h` (for the DCU040 module)
984+
- The Portenta UWB Shield uses `PortentaUWBShield.h` (for the DCU150 module)
985+
- The Arduino Stella uses `StellaUWB.h` (for the DCU040 module)
986986

987987
Both sketches configure MAC addresses for identification:
988988

0 commit comments

Comments
 (0)