From 35168c6e58fd6a867ed1a174d544785fab7c9618 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Mon, 29 Sep 2025 12:40:07 +0200 Subject: [PATCH 01/28] Added outline for new sections --- .../06.device-provisioning/content.md | 93 ++++++++++++++++++- 1 file changed, 88 insertions(+), 5 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 68f78af764..30d5629c0a 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -65,6 +65,8 @@ Here are the boards that are compatible with Bluetooth provisioning via a Blueto - [Arduino UNO R4 WiFi](https://docs.arduino.cc/hardware/uno-r4-wifi/) (Wi-Fi firmware version 0.6.0 or later required) +A board that is ready for Bluetooth provisioning has a specific provisioning sketch installed and displays a pulsing LED or a Bluetooth icon on the LED matrix. Newer boards are shipped boards are delivered with this specific sketch already installed. If the pulsing LED is not visible, please use the USB provisioning method. + ### Setting up Your Device With Bluetooth After selecting the Bluetooth option you will see a page telling you how to connect your board. Follow the steps to connect your board via Bluetooth. @@ -79,6 +81,8 @@ After completing these steps your device will connect to your Wi-Fi and you will ![Attach thing after Bluetooth](assets/attach-thing-to-bluetooth.png) +The BLE interface is automatically turned off at the end of the procedure, and it remains off until board reset (see dedicated document section) + Now you are ready to start using your board with the Arduino Cloud! ## USB Provisioning @@ -125,11 +129,92 @@ Now your board will be updated to version 2.0, wait for the process to finish. When this is done you can continue setting up the network connection for your board and it will now be using the latest provisioning method with the Arduino Cloud! -### Removing Saved Network Configuration +## How to update the Stored Network Configuration + +To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. If you want to update the stored network configuration, there are two ways: + +### Update Using the BLE Interface + +Ensure that the cloud sketch has enabled the "BLEAgent" in the cloud sketch, via "thingProperties.h". Check [this document](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches) for enabling it. + +You can update the Network settings from the detail page of the device in the Arduino Cloud Web UI or the mobile app. + +During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. + +- Turn on the board. + +- Open the devices page of the Mobile App or the Arduino Cloud Web UI. + +- Click on the device you want to update the network settings for. + +- Click on the "change" button by the network section. + +- If you are using the Arduino Cloud Web UI, select the BLE method. + +- Reset the board using the procedure of your board. In this article, the default reset pin is used. If you have chosen a different pin, please use that. Review the section of the document about the default board reset pin [here](#How to set up the Reconfiguration Procedure). + +- The board will reboot, and you will see the LED pulsing. + +- Connect to the board. + +- Input the new network configuration. + +- The board will validate it, and if correct, it will close the connection. + +### Update Using the Serial Interface + +Ensure that the "SerialAgent" is enabled in the cloud sketch, via "thingProperties.h". + +Check [this document](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches) for enabling it. + +You can run this procedure only with the Arduino Cloud Web UI + +- You can update the network settings from the detail page of the board of the Web UI. -This section will explain how to remove the stored network credentials and force the restart of the BLE interface of a board that has been provisioned with version 2.0. This can be useful to either reset the board or to update the network credentials via BLE. +- The Serial interface, if enabled, is always ready to receive a new configuration. -If you want to remove the stored network credentials and force the restart of the BLE interface, so that the network credentials can be updated via BLE. Please follow these instructions depending on your board: +- Turn on the board and connect to your PC using the USB cable. + +- Open the devices page on the Arduino Cloud Web UI. + +- Click on the board you want to update the network settings for. + +- Click on the "change" button by the network section. + +- Connect to the board. + +- Inputs the new configuration. + +- The board will validate it, and if correct, it will close the connection. + + +## How to delete a stored network configuration + +If you want to delete the stored network configuration without updating it, there are two possible methods to do so. + +### Board Reset procedure + +To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. + +Reset the board using the procedure of your board. + +In this article, the default reset pin is used. If you had chosen a different pin, please use yours. + +Review the section of the document about the default board reset pin here. + +### Using the DeleteConfiguration sketch + +Upload this sketch to delete your configuration. + +Please confirm the choice for starting the procedure + +### How to set up the Reconfiguration Procedure + +As the Provisioning 2.0 ends, the BLE interface is turned off. + +To restart the BLE interface to update the network settings, the [**Arduino_NetworkConfigurator**](https://github.com/arduino-libraries/Arduino_NetworkConfigurator?tab=readme-ov-file) library provides a procedure called "Reconfiguration Procedure". This procedure is based on the shorting of two pins of the board. + +The library provides a default implementation according to the board type. (The user can change the default pin, checking the following document section) - `Arduino Opta`: Press and hold the user button (BTN_USER) until the led (LED_USER) turns off - `Arduino MKR WiFi 1010`: Short pin 7 to GND until the led turns off @@ -140,6 +225,4 @@ If you want to remove the stored network credentials and force the restart of th - `Other boards`: Short pin 2 to GND until the led turns off - `Portenta Machine Control`: Currently the reset procedure is not available -If you would like to remove the network credentials from the board, you can use the [**Arduino_NetworkConfigurator**](https://github.com/arduino-libraries/Arduino_NetworkConfigurator?tab=readme-ov-file) library. - Open Arduino IDE and on the left side open the **library manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. \ No newline at end of file From 8331d935cece59c24f86fecaad97aba61379e4b4 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Mon, 29 Sep 2025 17:48:15 +0200 Subject: [PATCH 02/28] Fixed new sections --- .../06.device-provisioning/content.md | 47 ++-- .../00.sketches/sketches.md | 208 +++++++++++++++++- 2 files changed, 223 insertions(+), 32 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 30d5629c0a..cea5617c75 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -135,23 +135,23 @@ To proceed with the next steps, the cloud-generated sketch must be uploaded to t ### Update Using the BLE Interface -Ensure that the cloud sketch has enabled the "BLEAgent" in the cloud sketch, via "thingProperties.h". Check [this document](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches) for enabling it. +Ensure that the cloud sketch has enabled the "BLEAgent" in the cloud sketch, via "thingProperties.h". This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). -You can update the Network settings from the detail page of the device in the Arduino Cloud Web UI or the mobile app. +You can update the network settings from the detail page of the device on the Arduino Cloud webpage or the mobile app. During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. -- Turn on the board. +- Power on the board. -- Open the devices page of the Mobile App or the Arduino Cloud Web UI. +- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. + +- Open the devices page of the Mobile App or the Arduino Cloud webpage. - Click on the device you want to update the network settings for. - Click on the "change" button by the network section. -- If you are using the Arduino Cloud Web UI, select the BLE method. - -- Reset the board using the procedure of your board. In this article, the default reset pin is used. If you have chosen a different pin, please use that. Review the section of the document about the default board reset pin [here](#How to set up the Reconfiguration Procedure). +- If you are using the Arduino Cloud webpage, select the BLE method. - The board will reboot, and you will see the LED pulsing. @@ -163,31 +163,22 @@ During this process you will be asked to wipe out the current network configurat ### Update Using the Serial Interface -Ensure that the "SerialAgent" is enabled in the cloud sketch, via "thingProperties.h". - -Check [this document](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches) for enabling it. +Ensure that the "SerialAgent" is enabled in the cloud sketch, via "thingProperties.h". This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). -You can run this procedure only with the Arduino Cloud Web UI +This method only works with the Arduino Cloud website. You can update the network settings from the detail page of the board on the webpage. The Serial interface, if enabled, is always ready to receive a new configuration. -- You can update the network settings from the detail page of the board of the Web UI. +- Turn on the board and connect it to your PC using a USB cable. -- The Serial interface, if enabled, is always ready to receive a new configuration. - -- Turn on the board and connect to your PC using the USB cable. - -- Open the devices page on the Arduino Cloud Web UI. +- Open the devices page on the Arduino Cloud webpage. - Click on the board you want to update the network settings for. - Click on the "change" button by the network section. -- Connect to the board. - -- Inputs the new configuration. +- Input the new network configuration. - The board will validate it, and if correct, it will close the connection. - ## How to delete a stored network configuration If you want to delete the stored network configuration without updating it, there are two possible methods to do so. @@ -196,17 +187,13 @@ If you want to delete the stored network configuration without updating it, ther To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. -Reset the board using the procedure of your board. - -In this article, the default reset pin is used. If you had chosen a different pin, please use yours. - -Review the section of the document about the default board reset pin here. +Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. ### Using the DeleteConfiguration sketch -Upload this sketch to delete your configuration. +Open Arduino IDE and on the left side open the **library manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. -Please confirm the choice for starting the procedure +The sketch can also be found [here.](https://github.com/arduino-libraries/Arduino_NetworkConfigurator/blob/main/examples/utility/DeleteConfiguration/DeleteConfiguration.ino) ### How to set up the Reconfiguration Procedure @@ -223,6 +210,4 @@ The library provides a default implementation according to the board type. (The - `Arduino Portenta H7`: Short pin 0 to GND until the led turns off - `Arduino Portenta C33`: Short pin 0 to GND until the led turns off - `Other boards`: Short pin 2 to GND until the led turns off -- `Portenta Machine Control`: Currently the reset procedure is not available - -Open Arduino IDE and on the left side open the **library manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. \ No newline at end of file +- `Portenta Machine Control`: Currently the reset procedure is not available \ No newline at end of file diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 8456caff4e..b95342fa08 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -129,7 +129,213 @@ The "Secret" File contains your secret credentials, such as Wi-Fi® network SSID This file will be visible as a "Secret" tab in the Cloud Editor and is named `arduino_secrets.h`, which is not visible on the Cloud platform. -Note that if you are using the offline IDE / Arduino CLI, you will need to manually create this file. More information is in the **Offline Sketches section** just below. +Note that if you are using the offline IDE / Arduino CLI, you will need to manually create this file. More information is in the **Offline Sketches section**. + + + +## thingsProperties.h and the NetworkConfigurator + +The thingProperties.h file plays a key role in managing credential capabilities, including the NetworkConfigurator, which enables two main features: + +- Credentials stored on NVS: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). + +- Over-the-Air (OTA) communication: Enables the possibility to provide network settings configuration via Bluetooth (BLE) + +The thingProperties.h will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, automatically the thingProperties.h file will have the NetworkConfigurator component enabled. + +A board registered with Provisioning 2.0 includes Arduino_NetworkConfigurator.h in the generated thingProperties.h. + +### How the NetworkConfigurator works + +To work, the NetworkConfigurator needs: + +- One or more Configurator Agents: Objects that handle the communication between the board and the user device (PC, laptop, or Mobile phone). The NetworkConfigurator library out-of-the-box provides two Agents: + +- BLEAgent for handling the BLE communication + +- SerialAgents for the Serial communication. + +- A Key-Value Storage library: the NetworkConfigurator needs an external storage library that implements the KVStoreInterface. Arduino provides the Arduino_KVStore library for handling the storage and saving the NetworkConfigurator configurations. + +- A ConnectionHandler: the object responsible for the board’s Internet connection management + +### thingsProperties.h +Here is how the thingsProperties.h file changes to set up the NetworkConfigurator. + +### Default setup +This setup is automatically generated if the board has been registered with Provisioning 2.0. + +Do not try if the board has not been registered with the Provisioning 2.0 + +Automatically, both the SeralAgent and the BLEAgent are enabled + +Libraries and object declarations +The following libraries are automatically included: + +Arduino_NetworkConfigurator library + +BLEAgent.h and SerialAgent.h + +The objects declared: + +kvStore: for handling the NVM operations + +BLEAgent for handling the BLE interface + +SerialAgent: for handling the Serial Interface + +NetworkConfigurator: the networkConfigurator instance + + +```arduino +#include +#include +#include +#include +#include +void onVariableChange(); +int variable; +KVStore kvStore; +BLEAgentClass BLEAgent; +SerialAgentClass SerialAgent; +WiFiConnectionHandler ArduinoIoTPreferredConnection; +NetworkConfiguratorClass NetworkConfigurator(ArduinoIoTPreferredConnection); +``` + +### initProperties() +In the initProperties function, the following instructions are added: + +NetworkConfigurator.addAgent(BLEAgent); For enabling the BLEAgent + +NetworkConfigurator.addAgent(SerialAgent); For enabling the SerialAgent + +NetworkConfigurator.setStorage(kvStore); For setting the KVStore + +ArduinoCloud.setConfigurator(NetworkConfigurator); For embedding the NetworkConfigurator in the ArduinoCloud + +```arduino +NetworkConfigurator.addAgent(BLEAgent); +NetworkConfigurator.addAgent(SerialAgent); +NetworkConfigurator.setStorage(kvStore); +ArduinoCloud.setConfigurator(NetworkConfigurator); +``` + +The final thingProperties.h file: + +```arduino +#include +#include +#include +#include +#include +void onVariableChange(); +int variable; +KVStore kvStore; +BLEAgentClass BLEAgent; +SerialAgentClass SerialAgent; +WiFiConnectionHandler ArduinoIoTPreferredConnection; +NetworkConfiguratorClass NetworkConfigurator(ArduinoIoTPreferredConnection); +void initProperties(){ + NetworkConfigurator.addAgent(BLEAgent); + NetworkConfigurator.addAgent(SerialAgent); + NetworkConfigurator.setStorage(kvStore); + ArduinoCloud.setConfigurator(NetworkConfigurator); +// For changing the default reset pin (2) uncomment and set your preferred pin. Use DISABLE_PIN for disabling the reset procedure. +// NetworkConfigurator.setReconfigurePin(YOUR_PIN); + ArduinoCloud.addProperty(variable, READWRITE, ON_CHANGE, onVariableChange); +} +``` + +### Disable the BLEAgent + +To save board storage and memory, after the provisioning, the BLEAgent can be removed. ~30KB of storage and ~ 2KB of memory are saved for BSS and Data. + +The network credentials provided in the provisioning phase can no longer be changed via Bluetooth + +To disable the BLEAgent, just comment out or remove the lines of code that include, declare, and enable it. + +The final result should be the following: + +```arduino +#include +#include +#include +//#include +#include +void onVariableChange(); +int variable; +KVStore kvStore; +//BLEAgentClass BLEAgent; +SerialAgentClass SerialAgent; +WiFiConnectionHandler ArduinoIoTPreferredConnection; +NetworkConfiguratorClass NetworkConfigurator(ArduinoIoTPreferredConnection); +void initProperties(){ +// NetworkConfigurator.addAgent(BLEAgent); + NetworkConfigurator.addAgent(SerialAgent); + NetworkConfigurator.setStorage(kvStore); + ArduinoCloud.setConfigurator(NetworkConfigurator); +// For changing the default reset pin (2) uncomment and set your preferred pin. Use DISABLE_PIN for disabling the reset procedure. +// NetworkConfigurator.setReconfigurePin(YOUR_PIN); + ArduinoCloud.addProperty(variable, READWRITE, ON_CHANGE, onVariableChange); +} +``` + +### Disable the SerialAgent + +To save board storage and memory, after the provisioning, the SerialAgent can be removed. ~1KB of storage is saved for BSS and Data + +The network credentials provided in the provisioning phase can no longer be changed via USB + +To disable the SerialAgent, just comment out or remove the lines of code that include, declare, and enable it. + +The final result should be the following: + +```arduino +#include +#include +#include +#include +//#include +void onVariableChange(); +int variable; +KVStore kvStore; +BLEAgentClass BLEAgent; +//SerialAgentClass SerialAgent; +WiFiConnectionHandler ArduinoIoTPreferredConnection; +NetworkConfiguratorClass NetworkConfigurator(ArduinoIoTPreferredConnection); +void initProperties(){ + NetworkConfigurator.addAgent(BLEAgent); +// NetworkConfigurator.addAgent(SerialAgent); + NetworkConfigurator.setStorage(kvStore); + ArduinoCloud.setConfigurator(NetworkConfigurator); +// For changing the default reset pin (2) uncomment and set your preferred pin. Use DISABLE_PIN for disabling the reset procedure. +// NetworkConfigurator.setReconfigurePin(YOUR_PIN); + ArduinoCloud.addProperty(variable, READWRITE, ON_CHANGE, onVariableChange); +} +``` + +### Disable the NetworkConfigurator + +To save board storage and memory, after the provisioning, the NetworkConfigurator can be removed. ~40KB of storage and ~ 2,9KB of memory are saved for BSS and Data. + +In this setup, the only way to handle network settings is to return to using the secrets declared in secrets.h file. This can be done manually by adding the secrets.h file with the defines needed. + +In order to change the network settings, you must flash your sketch with the updated network settings in the secrets.h file. The network settings can no longer be updated using the Arduino Cloud WebUI or the mobile app. + +The final result should be the following (thingProperties.h file): + +```arduino +#include +#include +const char SSID[] = SECRET_SSID; // Network SSID (name) +const char PASS[] = SECRET_OPTIONAL_PASS; // Network password (use for WPA, or use as key for WEP) +void onVariableChange(); +int variable; +WiFiConnectionHandler ArduinoIoTPreferredConnection(SECRET_SSID, SECRET_OPTIONAL_PASS); +void initProperties(){ + ArduinoCloud.addProperty(variable, READWRITE, ON_CHANGE, onVariableChange); +} +``` ## Offline Sketches From 8d6b9c85a222264de62c752183e9bc7825d5f2f3 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 00:30:04 +0200 Subject: [PATCH 03/28] Last additions to content --- .../06.device-provisioning/content.md | 18 +--- .../00.sketches/sketches.md | 87 +++++++------------ 2 files changed, 33 insertions(+), 72 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index cea5617c75..191762cf60 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -142,23 +142,14 @@ You can update the network settings from the detail page of the device on the Ar During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. - Power on the board. - - Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. - - Open the devices page of the Mobile App or the Arduino Cloud webpage. - - Click on the device you want to update the network settings for. - - Click on the "change" button by the network section. - - If you are using the Arduino Cloud webpage, select the BLE method. - - The board will reboot, and you will see the LED pulsing. - - Connect to the board. - - Input the new network configuration. - - The board will validate it, and if correct, it will close the connection. ### Update Using the Serial Interface @@ -168,28 +159,23 @@ Ensure that the "SerialAgent" is enabled in the cloud sketch, via "thingProperti This method only works with the Arduino Cloud website. You can update the network settings from the detail page of the board on the webpage. The Serial interface, if enabled, is always ready to receive a new configuration. - Turn on the board and connect it to your PC using a USB cable. - - Open the devices page on the Arduino Cloud webpage. - - Click on the board you want to update the network settings for. - - Click on the "change" button by the network section. - - Input the new network configuration. - - The board will validate it, and if correct, it will close the connection. ## How to delete a stored network configuration If you want to delete the stored network configuration without updating it, there are two possible methods to do so. -### Board Reset procedure +### Board Reset Procedure To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. -### Using the DeleteConfiguration sketch +### Using the DeleteConfiguration Sketch Open Arduino IDE and on the left side open the **library manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index b95342fa08..94cd97e835 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -131,61 +131,48 @@ This file will be visible as a "Secret" tab in the Cloud Editor and is named `ar Note that if you are using the offline IDE / Arduino CLI, you will need to manually create this file. More information is in the **Offline Sketches section**. - - ## thingsProperties.h and the NetworkConfigurator The thingProperties.h file plays a key role in managing credential capabilities, including the NetworkConfigurator, which enables two main features: - Credentials stored on NVS: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). +- Over-the-Air (OTA) communication: Enables the possibility to provide network configuration settings via Bluetooth (BLE). -- Over-the-Air (OTA) communication: Enables the possibility to provide network settings configuration via Bluetooth (BLE) - -The thingProperties.h will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, automatically the thingProperties.h file will have the NetworkConfigurator component enabled. - -A board registered with Provisioning 2.0 includes Arduino_NetworkConfigurator.h in the generated thingProperties.h. +The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. ### How the NetworkConfigurator works To work, the NetworkConfigurator needs: -- One or more Configurator Agents: Objects that handle the communication between the board and the user device (PC, laptop, or Mobile phone). The NetworkConfigurator library out-of-the-box provides two Agents: +- One or more Configurator Agents: Objects that handle the communication between the board and the user device (PC, laptop, or Mobile phone). +- A Key-Value Storage library: the NetworkConfigurator needs an external storage library that implements the KVStoreInterface. Arduino provides the `Arduino_KVStore` library for handling the storage and saving the NetworkConfigurator configurations. +- A ConnectionHandler: the object responsible for the board's Internet connection management. -- BLEAgent for handling the BLE communication +The `NetworkConfigurator` library out-of-the-box provides two Agents: +- BLEAgent for handling the BLE communication. - SerialAgents for the Serial communication. -- A Key-Value Storage library: the NetworkConfigurator needs an external storage library that implements the KVStoreInterface. Arduino provides the Arduino_KVStore library for handling the storage and saving the NetworkConfigurator configurations. - -- A ConnectionHandler: the object responsible for the board’s Internet connection management +## thingsProperties.h Default Setup -### thingsProperties.h -Here is how the thingsProperties.h file changes to set up the NetworkConfigurator. +Here is how the `thingsProperties.h` file changes to set up the NetworkConfigurator. This setup is automatically generated if the board has been registered with Provisioning 2.0. -### Default setup -This setup is automatically generated if the board has been registered with Provisioning 2.0. +*** Do not follow these steps if the board has not been registered with the Provisioning 2.0 *** -Do not try if the board has not been registered with the Provisioning 2.0 +### Libraries and object declarations -Automatically, both the SeralAgent and the BLEAgent are enabled - -Libraries and object declarations The following libraries are automatically included: -Arduino_NetworkConfigurator library - -BLEAgent.h and SerialAgent.h - -The objects declared: - -kvStore: for handling the NVM operations - -BLEAgent for handling the BLE interface +- Arduino_NetworkConfigurator library +- BLEAgent.h +- SerialAgent.h -SerialAgent: for handling the Serial Interface - -NetworkConfigurator: the networkConfigurator instance +These objects are declared in `thingsProperties.h`: +- `kvStore`: handles the NVM operations +- `BLEAgent`: handles the BLE interface +- `SerialAgent`: handles the Serial Interface +- `NetworkConfigurator`: the networkConfigurator instance ```arduino #include @@ -203,15 +190,13 @@ NetworkConfiguratorClass NetworkConfigurator(ArduinoIoTPreferredConnection); ``` ### initProperties() -In the initProperties function, the following instructions are added: - -NetworkConfigurator.addAgent(BLEAgent); For enabling the BLEAgent -NetworkConfigurator.addAgent(SerialAgent); For enabling the SerialAgent - -NetworkConfigurator.setStorage(kvStore); For setting the KVStore +In the initProperties function, the following instructions are added: -ArduinoCloud.setConfigurator(NetworkConfigurator); For embedding the NetworkConfigurator in the ArduinoCloud +- `NetworkConfigurator.addAgent(BLEAgent);` For enabling the BLEAgent. +- `NetworkConfigurator.addAgent(SerialAgent);` For enabling the SerialAgent. +- `NetworkConfigurator.setStorage(kvStore);` For setting the KVStore. +- `ArduinoCloud.setConfigurator(NetworkConfigurator);` For embedding the NetworkConfigurator in the ArduinoCloud. ```arduino NetworkConfigurator.addAgent(BLEAgent); @@ -220,7 +205,7 @@ NetworkConfigurator.setStorage(kvStore); ArduinoCloud.setConfigurator(NetworkConfigurator); ``` -The final thingProperties.h file: +The final `thingProperties.h` file: ```arduino #include @@ -248,13 +233,9 @@ void initProperties(){ ### Disable the BLEAgent -To save board storage and memory, after the provisioning, the BLEAgent can be removed. ~30KB of storage and ~ 2KB of memory are saved for BSS and Data. +To save board storage and memory, after the provisioning, the `BLEAgent` can be removed. ~30KB of storage and ~ 2KB of memory are saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via Bluetooth if this is disabled. -The network credentials provided in the provisioning phase can no longer be changed via Bluetooth - -To disable the BLEAgent, just comment out or remove the lines of code that include, declare, and enable it. - -The final result should be the following: +To disable the `BLEAgent`, just comment out or remove the lines of code that include, declare, and enable it. The final result should be the following: ```arduino #include @@ -282,13 +263,9 @@ void initProperties(){ ### Disable the SerialAgent -To save board storage and memory, after the provisioning, the SerialAgent can be removed. ~1KB of storage is saved for BSS and Data - -The network credentials provided in the provisioning phase can no longer be changed via USB +To save board storage and memory, after the provisioning, the SerialAgent can be removed. ~1KB of storage is saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via USB if this is disabled. -To disable the SerialAgent, just comment out or remove the lines of code that include, declare, and enable it. - -The final result should be the following: +To disable the `SerialAgent`, just comment out or remove the lines of code that include, declare, and enable it. The final result should be the following: ```arduino #include @@ -318,11 +295,9 @@ void initProperties(){ To save board storage and memory, after the provisioning, the NetworkConfigurator can be removed. ~40KB of storage and ~ 2,9KB of memory are saved for BSS and Data. -In this setup, the only way to handle network settings is to return to using the secrets declared in secrets.h file. This can be done manually by adding the secrets.h file with the defines needed. - -In order to change the network settings, you must flash your sketch with the updated network settings in the secrets.h file. The network settings can no longer be updated using the Arduino Cloud WebUI or the mobile app. +In this setup, the only way to handle network settings is to return to using the secrets declared in `secrets.h` file. This can be done manually by adding the `secrets.h` file with the defines needed. -The final result should be the following (thingProperties.h file): +In order to change the network settings, you must flash your sketch with the updated network settings in the `secrets.h` file. The network settings can no longer be updated using the Arduino Cloud Webpage or the mobile app. The final result should be the following (`thingProperties.h` file): ```arduino #include From 8d025a5d351184108ac7791fb5c01fd420e7997d Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 00:45:49 +0200 Subject: [PATCH 04/28] Added links --- .../02.hardware/06.device-provisioning/content.md | 4 ++-- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 191762cf60..e625d82170 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -135,7 +135,7 @@ To proceed with the next steps, the cloud-generated sketch must be uploaded to t ### Update Using the BLE Interface -Ensure that the cloud sketch has enabled the "BLEAgent" in the cloud sketch, via "thingProperties.h". This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). +Ensure that the cloud sketch has enabled the BLEAgent in the cloud sketch, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). You can update the network settings from the detail page of the device on the Arduino Cloud webpage or the mobile app. @@ -154,7 +154,7 @@ During this process you will be asked to wipe out the current network configurat ### Update Using the Serial Interface -Ensure that the "SerialAgent" is enabled in the cloud sketch, via "thingProperties.h". This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). +Ensure that the SerialAgent is enabled in the cloud sketch, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). This method only works with the Arduino Cloud website. You can update the network settings from the detail page of the board on the webpage. The Serial interface, if enabled, is always ready to receive a new configuration. diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 94cd97e835..139674e206 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -138,7 +138,7 @@ The thingProperties.h file plays a key role in managing credential capabilities, - Credentials stored on NVS: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). - Over-the-Air (OTA) communication: Enables the possibility to provide network configuration settings via Bluetooth (BLE). -The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. +The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) ### How the NetworkConfigurator works @@ -157,7 +157,7 @@ The `NetworkConfigurator` library out-of-the-box provides two Agents: Here is how the `thingsProperties.h` file changes to set up the NetworkConfigurator. This setup is automatically generated if the board has been registered with Provisioning 2.0. -*** Do not follow these steps if the board has not been registered with the Provisioning 2.0 *** +*** Do not follow these steps if the board has not been registered with the Provisioning 2.0. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) *** ### Libraries and object declarations From c8bba71b1f06a964e2372649d418039b96cfa220 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 11:28:37 +0200 Subject: [PATCH 05/28] small fixes --- .../02.hardware/06.device-provisioning/content.md | 4 ++-- .../03.cloud-interface/00.sketches/sketches.md | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index e625d82170..dd4484f18f 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -142,7 +142,7 @@ You can update the network settings from the detail page of the device on the Ar During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. - Power on the board. -- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. +- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How to set up the Reconfiguration Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. - Open the devices page of the Mobile App or the Arduino Cloud webpage. - Click on the device you want to update the network settings for. - Click on the "change" button by the network section. @@ -173,7 +173,7 @@ If you want to delete the stored network configuration without updating it, ther To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. -Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How-to-set-up-the Reconfiguration-Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. +Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. ### Using the DeleteConfiguration Sketch diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 139674e206..fcf805c1e6 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -135,8 +135,8 @@ Note that if you are using the offline IDE / Arduino CLI, you will need to manua The thingProperties.h file plays a key role in managing credential capabilities, including the NetworkConfigurator, which enables two main features: -- Credentials stored on NVS: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). -- Over-the-Air (OTA) communication: Enables the possibility to provide network configuration settings via Bluetooth (BLE). +- **Credentials stored on NVS**: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). +- **Over-the-Air (OTA) communication**: Enables the possibility to provide network configuration settings via Bluetooth (BLE). The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) @@ -144,9 +144,9 @@ The `thingProperties.h` will be generated accordingly to the provisioning mechan To work, the NetworkConfigurator needs: -- One or more Configurator Agents: Objects that handle the communication between the board and the user device (PC, laptop, or Mobile phone). -- A Key-Value Storage library: the NetworkConfigurator needs an external storage library that implements the KVStoreInterface. Arduino provides the `Arduino_KVStore` library for handling the storage and saving the NetworkConfigurator configurations. -- A ConnectionHandler: the object responsible for the board's Internet connection management. +- **One or more Configurator Agents**: Objects that handle the communication between the board and the user device (PC, laptop, or Mobile phone). +- **A Key-Value Storage library**: the NetworkConfigurator needs an external storage library that implements the KVStoreInterface. Arduino provides the `Arduino_KVStore` library for handling the storage and saving the NetworkConfigurator configurations. +- **A ConnectionHandler**: the object responsible for the board's Internet connection management. The `NetworkConfigurator` library out-of-the-box provides two Agents: From b10d6b592a2cf0f4eef02114b4fa01c5bf4af2c1 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 12:06:52 +0200 Subject: [PATCH 06/28] Fixed anchor links --- .../02.hardware/06.device-provisioning/content.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index dd4484f18f..45abf1d8f9 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -142,7 +142,7 @@ You can update the network settings from the detail page of the device on the Ar During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. - Power on the board. -- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#How to set up the Reconfiguration Procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. +- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. - Open the devices page of the Mobile App or the Arduino Cloud webpage. - Click on the device you want to update the network settings for. - Click on the "change" button by the network section. @@ -173,7 +173,7 @@ If you want to delete the stored network configuration without updating it, ther To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. -Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. +Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. ### Using the DeleteConfiguration Sketch From 340f59fac0b48d369397b83424f7f2a095174bd1 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 16:09:40 +0200 Subject: [PATCH 07/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Fabio C --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 45abf1d8f9..c5ab59d326 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -65,7 +65,7 @@ Here are the boards that are compatible with Bluetooth provisioning via a Blueto - [Arduino UNO R4 WiFi](https://docs.arduino.cc/hardware/uno-r4-wifi/) (Wi-Fi firmware version 0.6.0 or later required) -A board that is ready for Bluetooth provisioning has a specific provisioning sketch installed and displays a pulsing LED or a Bluetooth icon on the LED matrix. Newer boards are shipped boards are delivered with this specific sketch already installed. If the pulsing LED is not visible, please use the USB provisioning method. +A board that is ready for Bluetooth provisioning has a specific provisioning sketch installed and displays a pulsing LED or a Bluetooth icon on the LED matrix. Newer boards are delivered with this specific sketch already installed. If the pulsing LED is not visible, please use the USB provisioning method. ### Setting up Your Device With Bluetooth From 07991c468f61446dc8639cf38b801bb5abb5a8df Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 16:09:58 +0200 Subject: [PATCH 08/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Fabio C --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index c5ab59d326..3328224c15 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -135,7 +135,7 @@ To proceed with the next steps, the cloud-generated sketch must be uploaded to t ### Update Using the BLE Interface -Ensure that the cloud sketch has enabled the BLEAgent in the cloud sketch, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). +Ensure that the cloud sketch has enabled the BLEAgent, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). You can update the network settings from the detail page of the device on the Arduino Cloud webpage or the mobile app. From c1cdc6387244f5997c59849812893be60de52f2a Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 16:10:25 +0200 Subject: [PATCH 09/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Fabio C --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index fcf805c1e6..5ae897543b 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -150,7 +150,7 @@ To work, the NetworkConfigurator needs: The `NetworkConfigurator` library out-of-the-box provides two Agents: -- BLEAgent for handling the BLE communication. +- `BLEAgent` for handling the BLE communication. - SerialAgents for the Serial communication. ## thingsProperties.h Default Setup From 45c8cc5cdaa8efb228c3796a48494f916f2ceea5 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Tue, 30 Sep 2025 16:10:33 +0200 Subject: [PATCH 10/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Fabio C --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 5ae897543b..991b579118 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -151,7 +151,7 @@ To work, the NetworkConfigurator needs: The `NetworkConfigurator` library out-of-the-box provides two Agents: - `BLEAgent` for handling the BLE communication. -- SerialAgents for the Serial communication. +- `SerialAgent` for the Serial communication. ## thingsProperties.h Default Setup From c7009323d17f2abaa4702e2e36ea748e9bc04d18 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Wed, 1 Oct 2025 03:36:06 +0200 Subject: [PATCH 11/28] Fixed content from feedback --- .../06.device-provisioning/content.md | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 3328224c15..8f95d12d12 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -81,7 +81,7 @@ After completing these steps your device will connect to your Wi-Fi and you will ![Attach thing after Bluetooth](assets/attach-thing-to-bluetooth.png) -The BLE interface is automatically turned off at the end of the procedure, and it remains off until board reset (see dedicated document section) +The BLE interface is automatically turned off at the end of the procedure, and it remains off until the board is reset. More information about this can be found in the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section. Now you are ready to start using your board with the Arduino Cloud! @@ -141,16 +141,16 @@ You can update the network settings from the detail page of the device on the Ar During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. -- Power on the board. -- Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. -- Open the devices page of the Mobile App or the Arduino Cloud webpage. -- Click on the device you want to update the network settings for. -- Click on the "change" button by the network section. -- If you are using the Arduino Cloud webpage, select the BLE method. -- The board will reboot, and you will see the LED pulsing. -- Connect to the board. -- Input the new network configuration. -- The board will validate it, and if correct, it will close the connection. +1. Power on the board. +2. Open the devices page of the Mobile App or the Arduino Cloud webpage. +3. Click on the device you want to update the network settings for. +4. Click on the "change" button by the network section. +5. If you are using the Arduino Cloud webpage, select the BLE method. +6. Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. +7. The board will reboot, and you will see the LED pulsing. +8. Connect to the board. +9. Input the new network configuration. +10. The board will validate it, and if correct, it will close the connection. ### Update Using the Serial Interface @@ -158,12 +158,12 @@ Ensure that the SerialAgent is enabled in the cloud sketch, via `thingProperties This method only works with the Arduino Cloud website. You can update the network settings from the detail page of the board on the webpage. The Serial interface, if enabled, is always ready to receive a new configuration. -- Turn on the board and connect it to your PC using a USB cable. -- Open the devices page on the Arduino Cloud webpage. -- Click on the board you want to update the network settings for. -- Click on the "change" button by the network section. -- Input the new network configuration. -- The board will validate it, and if correct, it will close the connection. +1. Turn on the board and connect it to your PC using a USB cable. +2. Open the devices page on the Arduino Cloud webpage. +3. Click on the board you want to update the network settings for. +4. Click on the "change" button by the network section. +5. Input the new network configuration. +6. The board will validate it, and if correct, it will close the connection. ## How to delete a stored network configuration From eeec6f8a12c3e5877a4f0942df5475ffe6284306 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:42:04 +0200 Subject: [PATCH 12/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 8f95d12d12..d21a829b04 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -65,7 +65,7 @@ Here are the boards that are compatible with Bluetooth provisioning via a Blueto - [Arduino UNO R4 WiFi](https://docs.arduino.cc/hardware/uno-r4-wifi/) (Wi-Fi firmware version 0.6.0 or later required) -A board that is ready for Bluetooth provisioning has a specific provisioning sketch installed and displays a pulsing LED or a Bluetooth icon on the LED matrix. Newer boards are delivered with this specific sketch already installed. If the pulsing LED is not visible, please use the USB provisioning method. +A board that is ready for Bluetooth provisioning has a specific provisioning sketch installed and displays a pulsing LED or a Bluetooth icon on the LED matrix (for UNO R4 WiFi). Newer boards are delivered with this specific sketch already installed. If the pulsing LED is not visible, please use the USB provisioning method. ### Setting up Your Device With Bluetooth From dc016e3dd4d07476f9056c0319847cc515e4e783 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:42:43 +0200 Subject: [PATCH 13/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index d21a829b04..7e9428ddb8 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -131,7 +131,7 @@ When this is done you can continue setting up the network connection for your bo ## How to update the Stored Network Configuration -To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. If you want to update the stored network configuration, there are two ways: +To proceed with the next steps, the Cloud-generated sketch must be uploaded to the board. If you want to update the stored network configuration, there are two ways: ### Update Using the BLE Interface From 50e107fa65f59e0964ed2c26a9239d35650cf0c3 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:42:54 +0200 Subject: [PATCH 14/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 7e9428ddb8..9d4a8588db 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -135,7 +135,7 @@ To proceed with the next steps, the Cloud-generated sketch must be uploaded to t ### Update Using the BLE Interface -Ensure that the cloud sketch has enabled the BLEAgent, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). +Ensure that the Cloud sketch has enabled the BLEAgent, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). You can update the network settings from the detail page of the device on the Arduino Cloud webpage or the mobile app. From 012e33e81269beb40ccf3699fa0288b60a04e6e4 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:43:34 +0200 Subject: [PATCH 15/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 9d4a8588db..a8d6cf87f0 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -154,7 +154,7 @@ During this process you will be asked to wipe out the current network configurat ### Update Using the Serial Interface -Ensure that the SerialAgent is enabled in the cloud sketch, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). +Ensure that the SerialAgent is enabled in the Cloud sketch, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). This method only works with the Arduino Cloud website. You can update the network settings from the detail page of the board on the webpage. The Serial interface, if enabled, is always ready to receive a new configuration. From be263ec6581389d64f8daa22598817081e49fe90 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:43:54 +0200 Subject: [PATCH 16/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index a8d6cf87f0..de958ce5d7 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -165,7 +165,7 @@ This method only works with the Arduino Cloud website. You can update the networ 5. Input the new network configuration. 6. The board will validate it, and if correct, it will close the connection. -## How to delete a stored network configuration +## How to Delete a Stored Network Configuration If you want to delete the stored network configuration without updating it, there are two possible methods to do so. From 0a72dbaa4ce2664d93658cdc5530dd467a791257 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:44:05 +0200 Subject: [PATCH 17/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index de958ce5d7..a8d3d5390e 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -171,7 +171,7 @@ If you want to delete the stored network configuration without updating it, ther ### Board Reset Procedure -To proceed with the next steps, the cloud-generated sketch must be uploaded to the board. +To proceed with the next steps, the Cloud-generated sketch must be uploaded to the board. Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. From 2c9d96279494427a5c7b98a9b61d9d6343f33d72 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:44:17 +0200 Subject: [PATCH 18/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index a8d3d5390e..a620248f9a 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -177,7 +177,7 @@ Reset the board using the method of your board. Have a look at the [How to set u ### Using the DeleteConfiguration Sketch -Open Arduino IDE and on the left side open the **library manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. +Open Arduino IDE and on the left side open the **Library Manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. The sketch can also be found [here.](https://github.com/arduino-libraries/Arduino_NetworkConfigurator/blob/main/examples/utility/DeleteConfiguration/DeleteConfiguration.ino) From befa1cb369979d529cd39af15dea612d160e4156 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:44:47 +0200 Subject: [PATCH 19/28] Update content/arduino-cloud/02.hardware/06.device-provisioning/content.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/02.hardware/06.device-provisioning/content.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index a620248f9a..d99bd7ac71 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -187,7 +187,7 @@ As the Provisioning 2.0 ends, the BLE interface is turned off. To restart the BLE interface to update the network settings, the [**Arduino_NetworkConfigurator**](https://github.com/arduino-libraries/Arduino_NetworkConfigurator?tab=readme-ov-file) library provides a procedure called "Reconfiguration Procedure". This procedure is based on the shorting of two pins of the board. -The library provides a default implementation according to the board type. (The user can change the default pin, checking the following document section) +The library provides a default implementation according to the board type. - `Arduino Opta`: Press and hold the user button (BTN_USER) until the led (LED_USER) turns off - `Arduino MKR WiFi 1010`: Short pin 7 to GND until the led turns off From 740b7b40009b5bcdb2c8d849c06548045e6942ab Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:45:47 +0200 Subject: [PATCH 20/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 991b579118..0d8bcedbe1 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -157,7 +157,7 @@ The `NetworkConfigurator` library out-of-the-box provides two Agents: Here is how the `thingsProperties.h` file changes to set up the NetworkConfigurator. This setup is automatically generated if the board has been registered with Provisioning 2.0. -*** Do not follow these steps if the board has not been registered with the Provisioning 2.0. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) *** +*** Do not follow these steps if the board has not been registered with the Provisioning 2.0. For more information about device provisioning have a look [here](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) ***. ### Libraries and object declarations From 0cf5b1e30fd51fc1e4aa68d3d79f02158b8b4b14 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:46:16 +0200 Subject: [PATCH 21/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 0d8bcedbe1..6c91b5f007 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -297,7 +297,7 @@ To save board storage and memory, after the provisioning, the NetworkConfigurato In this setup, the only way to handle network settings is to return to using the secrets declared in `secrets.h` file. This can be done manually by adding the `secrets.h` file with the defines needed. -In order to change the network settings, you must flash your sketch with the updated network settings in the `secrets.h` file. The network settings can no longer be updated using the Arduino Cloud Webpage or the mobile app. The final result should be the following (`thingProperties.h` file): +In order to change the network settings, you must flash your sketch with the updated network settings in the `secrets.h` file. The network settings can no longer be updated using the Arduino Cloud webpage or the mobile app. The final result should be the following (`thingProperties.h` file): ```arduino #include From e065d378a91814e6cb780e0956faf032db8b9a07 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:46:32 +0200 Subject: [PATCH 22/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 6c91b5f007..665db9957a 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -293,7 +293,7 @@ void initProperties(){ ### Disable the NetworkConfigurator -To save board storage and memory, after the provisioning, the NetworkConfigurator can be removed. ~40KB of storage and ~ 2,9KB of memory are saved for BSS and Data. +To save board storage and memory, after the provisioning, the NetworkConfigurator can be removed. ~40 kB of storage and ~2.9 kB of memory are saved for BSS and Data. In this setup, the only way to handle network settings is to return to using the secrets declared in `secrets.h` file. This can be done manually by adding the `secrets.h` file with the defines needed. From adc7075589c59eecd87e107104fc6aa8276174be Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:46:43 +0200 Subject: [PATCH 23/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 665db9957a..b16767a8f3 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -263,7 +263,7 @@ void initProperties(){ ### Disable the SerialAgent -To save board storage and memory, after the provisioning, the SerialAgent can be removed. ~1KB of storage is saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via USB if this is disabled. +To save board storage and memory, after the provisioning, the SerialAgent can be removed. ~1 kB of storage is saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via USB if this is disabled. To disable the `SerialAgent`, just comment out or remove the lines of code that include, declare, and enable it. The final result should be the following: From b929704f2ec5f251b70e3685e77e58fbce4351b0 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:46:54 +0200 Subject: [PATCH 24/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index b16767a8f3..2257c7b980 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -233,7 +233,7 @@ void initProperties(){ ### Disable the BLEAgent -To save board storage and memory, after the provisioning, the `BLEAgent` can be removed. ~30KB of storage and ~ 2KB of memory are saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via Bluetooth if this is disabled. +To save board storage and memory, after the provisioning, the `BLEAgent` can be removed. ~30 kB of storage and ~2 kB of memory are saved for BSS and Data. The network credentials provided in the provisioning phase can no longer be changed via Bluetooth if this is disabled. To disable the `BLEAgent`, just comment out or remove the lines of code that include, declare, and enable it. The final result should be the following: From 5eed983761d88cb399e90d4efc30c1222e904490 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:47:08 +0200 Subject: [PATCH 25/28] Update content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 2257c7b980..985afcebd5 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -159,7 +159,7 @@ Here is how the `thingsProperties.h` file changes to set up the NetworkConfigura *** Do not follow these steps if the board has not been registered with the Provisioning 2.0. For more information about device provisioning have a look [here](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) ***. -### Libraries and object declarations +### Libraries and Object Declarations The following libraries are automatically included: From aa0679833be4bec4c4011ae6b002349fbb9eb0e1 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 3 Oct 2025 11:49:36 +0200 Subject: [PATCH 26/28] Apply suggestions from code review Co-authored-by: Josefine Herlin <66409231+jhansson-ard@users.noreply.github.com> --- .../02.hardware/06.device-provisioning/content.md | 12 ++++++------ .../03.cloud-interface/00.sketches/sketches.md | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index d99bd7ac71..22bcd88c74 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -81,7 +81,7 @@ After completing these steps your device will connect to your Wi-Fi and you will ![Attach thing after Bluetooth](assets/attach-thing-to-bluetooth.png) -The BLE interface is automatically turned off at the end of the procedure, and it remains off until the board is reset. More information about this can be found in the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section. +The Bluetooth LE interface is automatically turned off at the end of the procedure, and it remains off until the board is reset. More information about this can be found in the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section. Now you are ready to start using your board with the Arduino Cloud! @@ -133,13 +133,13 @@ When this is done you can continue setting up the network connection for your bo To proceed with the next steps, the Cloud-generated sketch must be uploaded to the board. If you want to update the stored network configuration, there are two ways: -### Update Using the BLE Interface +### Update Using the Bluetooth LE Interface Ensure that the Cloud sketch has enabled the BLEAgent, via `thingProperties.h`. This is enabled by default if the board has been registered with Provisioning 2.0. If you need to enable it, please have a look at [this documentation](https://docs.arduino.cc/arduino-cloud/cloud-interface/sketches). You can update the network settings from the detail page of the device on the Arduino Cloud webpage or the mobile app. -During this process you will be asked to wipe out the current network configuration to restart the board's BLE interface. +During this process you will be asked to wipe out the current network configuration to restart the board's Bluetooth LE interface. 1. Power on the board. 2. Open the devices page of the Mobile App or the Arduino Cloud webpage. @@ -179,13 +179,13 @@ Reset the board using the method of your board. Have a look at the [How to set u Open Arduino IDE and on the left side open the **Library Manager**. Search for **Arduino_NetworkConfigurator** and download it. Once it is downloaded go to **File > Examples > Arduino_NetworkConfigurator > Utility > DeleteConfiguration**, this will open a new example sketch. Select your board and port then upload this example sketch to your board. When the sketch has been uploaded you can look at the serial monitor to monitor the progress and troubleshoot if needed. -The sketch can also be found [here.](https://github.com/arduino-libraries/Arduino_NetworkConfigurator/blob/main/examples/utility/DeleteConfiguration/DeleteConfiguration.ino) +The sketch can also be found [here](https://github.com/arduino-libraries/Arduino_NetworkConfigurator/blob/main/examples/utility/DeleteConfiguration/DeleteConfiguration.ino). ### How to set up the Reconfiguration Procedure -As the Provisioning 2.0 ends, the BLE interface is turned off. +As the Provisioning 2.0 ends, the Bluetooth LE interface is turned off. -To restart the BLE interface to update the network settings, the [**Arduino_NetworkConfigurator**](https://github.com/arduino-libraries/Arduino_NetworkConfigurator?tab=readme-ov-file) library provides a procedure called "Reconfiguration Procedure". This procedure is based on the shorting of two pins of the board. +To restart the Bluetooth LE interface to update the network settings, the [**Arduino_NetworkConfigurator**](https://github.com/arduino-libraries/Arduino_NetworkConfigurator?tab=readme-ov-file) library provides a procedure called "Reconfiguration Procedure". This procedure is based on the shorting of two pins of the board. The library provides a default implementation according to the board type. diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 985afcebd5..9709761282 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -136,7 +136,7 @@ Note that if you are using the offline IDE / Arduino CLI, you will need to manua The thingProperties.h file plays a key role in managing credential capabilities, including the NetworkConfigurator, which enables two main features: - **Credentials stored on NVS**: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). -- **Over-the-Air (OTA) communication**: Enables the possibility to provide network configuration settings via Bluetooth (BLE). +- **Over-the-Air (OTA) communication**: Enables the possibility to provide network configuration settings via Bluetooth LE. The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) @@ -150,7 +150,7 @@ To work, the NetworkConfigurator needs: The `NetworkConfigurator` library out-of-the-box provides two Agents: -- `BLEAgent` for handling the BLE communication. +- `BLEAgent` for handling the Bluetooth LE communication. - `SerialAgent` for the Serial communication. ## thingsProperties.h Default Setup @@ -170,7 +170,7 @@ The following libraries are automatically included: These objects are declared in `thingsProperties.h`: - `kvStore`: handles the NVM operations -- `BLEAgent`: handles the BLE interface +- `BLEAgent`: handles the Bluetooth LE interface - `SerialAgent`: handles the Serial Interface - `NetworkConfigurator`: the networkConfigurator instance From 81cb5571c118c8a5a887f81202a707bff9ea02c3 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 10 Oct 2025 13:41:49 +0200 Subject: [PATCH 27/28] Fixed wording in the list --- .../02.hardware/06.device-provisioning/content.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md index 22bcd88c74..88b73593f8 100644 --- a/content/arduino-cloud/02.hardware/06.device-provisioning/content.md +++ b/content/arduino-cloud/02.hardware/06.device-provisioning/content.md @@ -145,10 +145,10 @@ During this process you will be asked to wipe out the current network configurat 2. Open the devices page of the Mobile App or the Arduino Cloud webpage. 3. Click on the device you want to update the network settings for. 4. Click on the "change" button by the network section. -5. If you are using the Arduino Cloud webpage, select the BLE method. +5. If you are using the Arduino Cloud webpage, select the Bluetooth method. 6. Reset the board using the method of your board. Have a look at the [How to set up the Reconfiguration Procedure](#how-to-set-up-the-reconfiguration-procedure) section of this article to find the default board reset pin. If you have changed the reset pin from the default one, please use that. 7. The board will reboot, and you will see the LED pulsing. -8. Connect to the board. +8. Connect to the board on the Arduino Cloud. 9. Input the new network configuration. 10. The board will validate it, and if correct, it will close the connection. From 010b88a037e2c85f0f89e0d5573358d302c7be66 Mon Sep 17 00:00:00 2001 From: BenjaminDannegard Date: Fri, 10 Oct 2025 13:43:13 +0200 Subject: [PATCH 28/28] Fixed spelling --- .../arduino-cloud/03.cloud-interface/00.sketches/sketches.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md index 9709761282..bcd0ce1510 100644 --- a/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md +++ b/content/arduino-cloud/03.cloud-interface/00.sketches/sketches.md @@ -138,7 +138,7 @@ The thingProperties.h file plays a key role in managing credential capabilities, - **Credentials stored on NVS**: Boards can now securely store network settings in Non-Volatile Storage (NVS), removing them from the sketch (secrets.h). - **Over-the-Air (OTA) communication**: Enables the possibility to provide network configuration settings via Bluetooth LE. -The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using the provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) +The `thingProperties.h` will be generated accordingly to the provisioning mechanism, so if the board has been registered using Provisioning 2.0, the `thingProperties.h` file will automatically have the NetworkConfigurator component enabled. A board registered with Provisioning 2.0 includes `Arduino_NetworkConfigurator.h` in the generated `thingProperties.h` file. For more information about device provisioning have a look [here.](https://docs.arduino.cc/arduino-cloud/hardware/device-provisioning/) ### How the NetworkConfigurator works