Skip to content

Commit c90bfa4

Browse files
committed
Content update (small fixes)
1 parent 14e21d8 commit c90bfa4

File tree

1 file changed

+28
-28
lines changed
  • content/hardware/05.pro-solutions/solutions-and-kits/stella/tutorials/01.user-manual

1 file changed

+28
-28
lines changed

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

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ This user manual provides a comprehensive overview of the Arduino Stella, highli
3535
- [Arduino IDE 2.0+](https://www.arduino.cc/en/software)
3636
- [`StellaUWB` library](https://github.com/Truesense-it/StellaUWB) (designed for the Arduino Stella)
3737
- [`PortentaUWBShield` library](https://github.com/Truesense-it/PortentaUWBShield) (designed for the Portenta UWB Shield)
38-
- [`ArduinoBLE` library](https://github.com/arduino/ArduinoBLE)
38+
- [`ArduinoBLE` library](https://github.com/arduino-libraries/ArduinoBLE)
3939
- [Arduino Mbed OS Stella Boards core](https://github.com/arduino/ArduinoCore-mbed) (required for the nRF52840 microcontroller of the Arduino Stella)
4040

4141
## Arduino Stella Overview
4242

43-
The Arduino Stella redefines location tracking with its advanced microcontroller, the nRF52840 from Nordic Semiconductor, and the DCU040 Ultra-Wide Band (UWB) module from Truesense. Tailored for modern tracking needs, the Arduino Stella excels in pinpointing warehouse assets, ensuring healthcare safety and automating smart buildings.
43+
The Arduino Stella redefines location tracking with its advanced microcontroller, the nRF52840 from Nordic Semiconductor, and the [DCU040](https://ultrawideband.truesense.it/wp-content/uploads/2023/08/TRUESENSE-DCU040_Datasheet_DRAFT-V1.7.pdf) Ultra-Wide Band (UWB) module from Truesense. Tailored for modern tracking needs, the Arduino Stella excels in pinpointing warehouse assets, ensuring healthcare safety and automating smart buildings.
4444

4545
![The Arduino Stella](assets/front-page.png)
4646

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

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

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

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

6767
#### Key Characteristics of UWB
6868

69-
- **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).
69+
- **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).
7070
- **Low-power consumption**: Despite its high data rates, UWB consumes very little power, making it suitable for battery-operated devices like the Arduino Stella, which is optimized for energy efficiency.
7171
- **Short range**: Typically effective within 10-30 meters, making it ideal for indoor positioning applications where GPS signals are weak or unavailable.
7272
- **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.
@@ -137,7 +137,7 @@ The bottom view of the Arduino Stella is shown in the image below:
137137
Here's an overview of the board's main components shown in the images:
138138

139139
- **Microcontroller**: At the heart of the Arduino Stella is the nRF52840 microcontroller from Nordic Semiconductor. This powerful 32-bit Arm® Cortex®-M4 processor runs at 64 MHz and features 1 MB Flash and 256 kB RAM, providing ample processing power and memory for sophisticated applications.
140-
- **UWB Module**: The Truesense DCU040 module (based on the NXP Trimension SR040 UWB IC) enables precise distance measurement with accuracy better than ±10 cm using two-way ranging techniques.
140+
- **UWB Module**: The Truesense DCU040 module (based on the NXP® Trimension SR040 UWB IC) enables precise distance measurement with accuracy better than ±10 cm using two-way ranging techniques.
141141
- **Connectivity**: Besides UWB, the Arduino Stella includes Bluetooth® 5.0 connectivity through the nRF52840's integrated radio, supporting IEEE 802.15.4-2006 and 2.4 GHz transceiver capabilities.
142142
- **Accelerometer**: A 3-axis MEMS digital output accelerometer (SC7A20) enhances the board's motion detection capabilities, with programmable sensitivity ranges of ±2G/±4G/±8G/±16G and features like orientation detection, free-fall detection, and click detection.
143143
- **User interfaces**: The board includes a user-programmable button, a user-programmable LED and a buzzer (FUET-5020) that can be used for audible alerts.
@@ -278,12 +278,12 @@ Let's use the Arduino Stella to create a real-time distance measurement system u
278278

279279
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:
280280

281-
1. **Bluetooth® Low Energy connection setup**: The Arduino Stella broadcasts using Bluetooth Low Energy to make itself discoverable to compatible smartphone apps.
282-
2. **Configuration exchange**: The Bluetooth Low Energy connection is used to exchange necessary UWB configuration parameters between the Arduino Stella and the smartphone.
281+
1. **Bluetooth® Low Energy connection setup**: The Arduino Stella broadcasts using Bluetooth® Low Energy to make itself discoverable to compatible smartphone apps.
282+
2. **Configuration exchange**: The Bluetooth® Low Energy connection is used to exchange necessary UWB configuration parameters between the Arduino Stella and the smartphone.
283283
3. **UWB ranging**: Once configured, the actual UWB ranging session begins, providing precise distance measurements.
284284
4. **Real-time feedback**: Distance data is continuously updated and can be viewed both on the IDE's Serial Monitor and on the smartphone app.
285285

286-
This process demonstrates the working principle of many UWB applications, where Bluetooth Low Energy is used primarily for discovery and configuration, while UWB handles the precise ranging.
286+
This process demonstrates the working principle of many UWB applications, where Bluetooth® Low Energy is used primarily for discovery and configuration, while UWB handles the precise ranging.
287287

288288
#### Uploading the Sketch
289289

@@ -438,13 +438,13 @@ To complete the test, you will need a UWB-enabled smartphone with one of the com
438438

439439
**For iPhone (iPhone 11 or newer with UWB capability):**
440440

441-
- [NXP Trimensions AR](https://apps.apple.com/us/app/nxp-trimensions-ar/id1606143205)
441+
- [NXP® Trimensions AR](https://apps.apple.com/us/app/nxp-trimensions-ar/id1606143205)
442442
- [Qorvo Nearby Interaction](https://apps.apple.com/us/app/qorvo-nearby-interaction/id1615369084)
443443

444444
**For Android (UWB-enabled Android devices):**
445445

446446
- [Truesense Android demo](https://github.com/Truesense-it/TSUwbDemo-Android)
447-
- [NXP Android demo](https://github.com/nxp-uwb/UWBJetpackExample)
447+
- [NXP® Android demo](https://github.com/nxp-uwb/UWBJetpackExample)
448448

449449
***__Important note for Android devices:__ If Developer Options is currently enabled on your Android device, please ensure all radio-related options remain at their default settings. We recommend keeping Developer Options disabled for optimal UWB functionality. If you previously enabled it, consider disabling it for the most stable device operation.***
450450

@@ -472,7 +472,7 @@ The `NearbyDemo` example sketch demonstrates how to implement distance measureme
472472

473473
This example demonstrates the following:
474474

475-
- **Hybrid communication protocol**: Integration of Bluetooth Low Energy for device discovery and configuration with UWB for precise distance measurements
475+
- **Hybrid communication protocol**: Integration of Bluetooth® Low Energy for device discovery and configuration with UWB for precise distance measurements
476476
- **Standards compatibility**: Compatible with Apple's Nearby Interaction API and Android UWB implementations
477477
- **Power-efficient design**: UWB subsystem only activates when a client connects, conserving battery life
478478
- **Multi-client support**: Can handle connections from multiple smartphones simultaneously
@@ -616,15 +616,15 @@ Once the example sketch is uploaded and a smartphone connects to the Arduino Ste
616616

617617
![Arduino Stella Serial Monitor output showing Nearby Demo connection and distance measurements](assets/nearbydemo-serial-monitor.png)
618618

619-
The Serial Monitor shows the initialization message, followed by `- Client connected!` when a smartphone establishes a Bluetooth Low Energy connection. Only after the connection is established will you see session status and real-time distance measurements in millimeters. If no device connects, you will only see the initial "Nearby interaction app start..." message waiting for a connection.
619+
The Serial Monitor shows the initialization message, followed by `- Client connected!` when a smartphone establishes a Bluetooth® Low Energy connection. Only after the connection is established will you see session status and real-time distance measurements in millimeters. If no device connects, you will only see the initial "Nearby interaction app start..." message waiting for a connection.
620620

621621
***__Important note__: Distance measurements only appear __after__ a successful connection with a UWB-enabled smartphone. Without a connection, the Serial Monitor will only show the initialization message.***
622622

623623
### Key Components of the Example Sketch
624624

625625
The `NearbyDemo` code implements an event-driven architecture using callback functions to handle various stages of the UWB communication process. Let's examine the main components:
626626

627-
1. **Libraries and Global Variables**
627+
- **Libraries and Global Variables**
628628

629629
```arduino
630630
#include <ArduinoBLE.h>
@@ -638,9 +638,9 @@ The example sketch uses two important libraries for its operation:
638638
- `ArduinoBLE`: Provides Bluetooth® Low Energy functionality for device discovery and initial connection.
639639
- `StellaUWB`: The core library that enables interaction with the onboard UWB module of the Arduino Stella.
640640

641-
The `numConnected` variable tracks how many Bluetooth Low Energy clients are currently connected to the Arduino Stella.
641+
The `numConnected` variable tracks how many Bluetooth® Low Energy clients are currently connected to the Arduino Stella.
642642

643-
2. **Ranging Data Handler**
643+
- **Ranging Data Handler**
644644

645645
The heart of the UWB functionality resides in the ranging callback:
646646

@@ -655,7 +655,7 @@ void rangingHandler(UWBRangingData &rangingData) {
655655

656656
This function processes incoming distance measurements, validates the data integrity, and outputs results to the IDE's Serial Monitor. The validation checks ensure only valid measurements are displayed (`status = 0` and `distance ≠ 0xFFFF`).
657657

658-
3. **Connection Management**
658+
- **Connection Management**
659659

660660
The connection callbacks manage the UWB subsystem lifecycle efficiently:
661661

@@ -670,7 +670,7 @@ void clientConnected(BLEDevice dev) {
670670

671671
This power-saving approach ensures the UWB hardware only activates when needed, extending battery life in portable applications.
672672

673-
4. **Session Management**
673+
- **Session Management**
674674

675675
```arduino
676676
void sessionStarted(BLEDevice dev) {
@@ -680,9 +680,9 @@ void sessionStarted(BLEDevice dev) {
680680

681681
These functions provide feedback about the session lifecycle, helping developers understand the connection state during debugging.
682682

683-
5. **Setup and Initialization**
683+
- **Setup and Initialization**
684684

685-
The setup function registers all callbacks and starts Bluetooth Low Energy advertising:
685+
The setup function registers all callbacks and starts Bluetooth® Low Energy advertising:
686686

687687
```arduino
688688
void setup() {
@@ -698,9 +698,9 @@ void setup() {
698698

699699
The device name "Arduino Stella" appears in smartphone apps when scanning for available UWB devices.
700700

701-
6. **Main Loop**
701+
- **Main Loop**
702702

703-
The main loop maintains the Bluetooth Low Energy connection:
703+
The main loop maintains the Bluetooth® Low Energy connection:
704704

705705

706706
```arduino
@@ -710,7 +710,7 @@ void loop() {
710710
}
711711
```
712712

713-
The `poll()` function processes Bluetooth Low Energy events while the actual UWB ranging occurs asynchronously through callbacks.
713+
The `poll()` function processes Bluetooth® Low Energy events while the actual UWB ranging occurs asynchronously through callbacks.
714714

715715
### Testing with Smartphones
716716

@@ -720,8 +720,8 @@ To test this example with a UWB-enabled smartphone:
720720
2. Open the IDE's Serial Monitor at 115200 baud
721721
3. Install a compatible app on your smartphone:
722722

723-
- **For iOS**: NXP Trimensions AR or Qorvo Nearby Interaction
724-
- **For Android**: Truesense or NXP UWB demo apps
723+
- **For iOS**: NXP® Trimensions AR or Qorvo Nearby Interaction
724+
- **For Android**: Truesense or NXP® UWB demo apps
725725

726726
4. Connect to the device named "Arduino Stella" in the app
727727
5. Move your phone to see distance measurements update in real-time
@@ -1090,7 +1090,7 @@ The output format from the Portenta C33 board is optimized for visualization, sh
10901090

10911091
The Two-Way Ranging example uses simplified helper classes (`UWBTracker` and `UWBRangingControlee`) that make device configuration easier while maintaining the same functionality. Let's analyze the key components:
10921092

1093-
1. **Libraries and MAC Addressing**
1093+
- **Libraries and MAC Addressing**
10941094

10951095
Both devices use their respective UWB libraries:
10961096

@@ -1111,7 +1111,7 @@ uint8_t destination[] = {0x22, 0x22}; // Target device
11111111

11121112
***__Important note:__ The MAC addresses are reversed between the two devices. The Arduino Stella identifies itself as `0x2222`and expects to communicate with `0x1111`, while the Portenta UWB Shield identifies itself as `0x1111` and expects to communicate with `0x2222`. Both devices must use the same session ID (`0x11223344`) to establish communication.***
11131113

1114-
2. **Simplified Session Setup**
1114+
- **Simplified Session Setup**
11151115

11161116
The new code uses helper classes that simplify the UWB session configuration:
11171117

@@ -1135,7 +1135,7 @@ myControlee.start();
11351135

11361136
These helper classes automatically configure the appropriate ranging parameters for their respective roles, making the setup process more straightforward.
11371137

1138-
3. **Enhanced Visual Feedback**
1138+
- **Enhanced Visual Feedback**
11391139

11401140
Both devices in this example provide visual feedback to help users understand the system status and distance measurements at a glance. Each device uses its LED capabilities to indicate different operational states.
11411141

@@ -1162,7 +1162,7 @@ The Portenta C33 uses its RGB LED to provide feedback about different aspects of
11621162

11631163
This three-color system provides immediate visual feedback about connection status, system operation, and proximity all at once, making it useful for debugging and demonstration purposes where checking serial output isn't practical.
11641164

1165-
4. **Data Processing and Visualization**
1165+
- **Data Processing and Visualization**
11661166

11671167
The Portenta UWB Shield implements a moving average filter to smooth distance measurements:
11681168

0 commit comments

Comments
 (0)