-
- Notifications
You must be signed in to change notification settings - Fork 488
[PXCT-1060] Added device provisioning documentation #2556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
BenjaminDannegard merged 22 commits into main from benjamindannegard/provisioning-cloud-tutorial Sep 18, 2025
Merged
Changes from all commits
Commits
Show all changes
22 commits Select commit Hold shift + click to select a range
88cd7a4
Added device provisioning documentation
BenjaminDannegard a06ef02
Small spelling fixes
BenjaminDannegard 5de0df7
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard b54a65e
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard 6d979cd
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard c152005
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard 75ac8e8
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard e49bf51
Update content/arduino-cloud/02.hardware/06.device-provisioning/conte…
BenjaminDannegard 11478b5
Added note about provis update
BenjaminDannegard 4992faf
updated images
BenjaminDannegard 916976a
Small fix
BenjaminDannegard 5f9c8f7
Fixed the note
BenjaminDannegard 1071520
Added compatible boards list
BenjaminDannegard d7110f4
Fixed table
BenjaminDannegard c8e360d
Updated list and added section
BenjaminDannegard 0b4ee41
Added migration documentation
BenjaminDannegard 88c5f8c
Apply suggestions from code review
jhansson-ard f70f34c
Updated compatible devices
BenjaminDannegard 37c9551
Added new section and missing image
BenjaminDannegard 9b8b732
spelling fix
BenjaminDannegard 90f920b
Updated info about different networks
BenjaminDannegard 510f1c0
Fixed description of network connection
BenjaminDannegard File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Binary file added BIN +231 KB ...o-cloud/02.hardware/06.device-provisioning/assets/attach-thing-to-bluetooth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +104 KB ...loud/02.hardware/06.device-provisioning/assets/connect-to-network-bluetooth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +238 KB ...uino-cloud/02.hardware/06.device-provisioning/assets/connect-with-bluetooth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +191 KB ...nt/arduino-cloud/02.hardware/06.device-provisioning/assets/connect-with-usb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +62.3 KB ...cloud/02.hardware/06.device-provisioning/assets/connecting-with-usb-loading.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +112 KB ...arduino-cloud/02.hardware/06.device-provisioning/assets/creating-new-device.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +114 KB ...arduino-cloud/02.hardware/06.device-provisioning/assets/device-overview-usb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +175 KB ...t/arduino-cloud/02.hardware/06.device-provisioning/assets/migration-process.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +311 KB ...-cloud/02.hardware/06.device-provisioning/assets/network-config-device-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +190 KB ...o-cloud/02.hardware/06.device-provisioning/assets/selecting-board-migration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +266 KB ...rduino-cloud/02.hardware/06.device-provisioning/assets/selecting-board-type.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +178 KB content/arduino-cloud/02.hardware/06.device-provisioning/assets/sketch-tab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added BIN +69.2 KB ...ud/02.hardware/06.device-provisioning/assets/succesfull-connection-with-usb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
144 changes: 144 additions & 0 deletions 144 content/arduino-cloud/02.hardware/06.device-provisioning/content.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
--- | ||
title: Device Provisioning with Arduino Cloud | ||
description: A step-by-step guide to device provisioning with Arduino Cloud. | ||
author: Benjamin Dannegård | ||
tags: [Cloud] | ||
--- | ||
| ||
## Setup and Process | ||
| ||
***If you are new to the Arduino Cloud, check out [Getting Started With the Arduino Cloud](/arduino-cloud/getting-started/iot-cloud-getting-started).*** | ||
| ||
To use the Arduino Cloud you will need to register and set up a **free** account. | ||
| ||
## Different Device Provisioning Versions | ||
| ||
There are two different versions of provisioning, 1.0 and 2.0. These different versions will change some things when you connect your board to the Cloud. The main change will be where the network credentials are stored. | ||
| ||
If your board is provisioned to the Cloud with version 1.0, the network credentials will be stored in a "secret.h" file that can be found on the "thing" page, in the "sketch" tab. As shown here: | ||
| ||
 | ||
| ||
If your board is provisioned to the Cloud with version 2.0 the network credentials will be stored on the board. | ||
| ||
### Compatible Boards List | ||
| ||
| Board | Compatible version | | ||
| ------------------- | ----------- | | ||
| MKR NB 1500 | Version 1.0 | | ||
| MKR WAN 1300 | Version 1.0 | | ||
| MKR WAN 1310 | Version 1.0 | | ||
| MKR 1000 WiFi | Version 1.0 | | ||
| MKR WiFi 1010 | Version 1.0 | | ||
| MKR GSM 1400 | Version 1.0 | | ||
| GIGA R1 WiFi | Version 2.0 | | ||
| UNO R4 WiFi | Version 2.0 | | ||
| Nano 33 IoT | Version 1.0 | | ||
| Nano ESP32 | Version 1.0 | | ||
| Nano RP2040 Connect | Version 1.0 | | ||
| Portenta H7 | Version 2.0 | | ||
| Portenta C33 | Version 1.0 | | ||
| Portenta X8 | Version 1.0 | | ||
| Nicla Vision | Version 2.0 | | ||
| Opta | Version 2.0 | | ||
| ||
If you have a board that is compatible with version 2.0 but have provisioned it with version 1.0, please have a look at the [section](#migrating-from-version-10-to-20) at the end to understand how to migrate your board from 1.0 to 2.0. | ||
| ||
### Configure Your Board | ||
| ||
After you have set up your account, to add your device to your Arduino Cloud account go to the [Devices page](https://app.arduino.cc/devices) and click on the **+ DEVICE** button. | ||
| ||
 | ||
| ||
This will take you to the setup menu for your device. You can now choose between three different options depending on what type of board you are using. Continue by clicking on **Arduino board**. | ||
| ||
 | ||
| ||
Now you have to decide how you want to set up your board with the Cloud, either via Bluetooth® or USB cable (you can check if your board is compatible with the Bluetooth method below). These two options have different processes, pick the method that suits your needs best and follow the section for your chosen method. | ||
| ||
## Bluetooth Provisioning | ||
| ||
### Compatible boards | ||
| ||
Here are the boards that are compatible with Bluetooth provisioning via a Bluetooth connection: | ||
| ||
- [Arduino UNO R4 WiFi](https://docs.arduino.cc/hardware/uno-r4-wifi/) (Wi-Fi firmware version 0.6.0 or later required) | ||
| ||
### 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. | ||
| ||
 | ||
| ||
Once your board is connected you will see a page that will let you pick the Wi-Fi the board should connect to. Pick the Wi-Fi you want to connect to and enter the password. Here you can also change the device name. | ||
| ||
 | ||
| ||
After completing these steps your device will connect to your Wi-Fi and you will be taken to the device page. Here you can click on the icon in the bottom left corner to attach a thing to the device. To find out more about Arduino Cloud Things, go [here](https://docs.arduino.cc/arduino-cloud/cloud-interface/things/). | ||
| ||
 | ||
| ||
Now you are ready to start using your board with the Arduino Cloud! | ||
| ||
## USB Provisioning | ||
| ||
If this is your first time using the Arduino Cloud you will be asked to download the **Arduino Create Agent**. The Create Agent is a piece of software that is necessary for your Arduino board to communicate with your browser. Download and install it by clicking on download and following the installation process. | ||
| ||
When the installation is finished you will get to a page that lets you select the board you wish to configure. Click on the board that you want to set up. | ||
| ||
 | ||
| ||
Now the board will start connecting. You should now see this loading screen: | ||
| ||
 | ||
| ||
Wait for it to finish and when it is completed, click "continue". | ||
| ||
 | ||
| ||
You will now be taken to the page where you can select the network you want to connect to. Depending on your boards network compatibilities you can set up either ethernet, CAT-M1, Cellular or Wi-Fi connectivity. Here you can chose your network type and enter its credentials. | ||
| ||
When this is done you will be taken to the device page. Here you can see the details of the board, change the name, attach it to a thing and change the network configuration. | ||
| ||
 | ||
| ||
To find out more about Arduino Cloud Things, go [here](https://docs.arduino.cc/arduino-cloud/cloud-interface/things/). In the bottom left corner you can press the icon highlighted in the image below to create a thing and attach your board to it automatically. Clicking it also takes you to the Thing page. | ||
| ||
 | ||
| ||
## Migrating from version 1.0 to 2.0 | ||
| ||
If you would like to upgrade your board from 1.0 to 2.0, so that your network credentials are saved on the baords storage and so that the board can be updated via BLE. And If you have a board that is compatible with version 2.0 but have provisioned it previously with version 1.0, please follow the instructions in this section! | ||
| ||
BenjaminDannegard marked this conversation as resolved. Show resolved Hide resolved | ||
Go to the device page [here](https://app.arduino.cc/devices), if the board is on the list already please delete it. Then press the **+ DEVICE** button. | ||
| ||
 | ||
| ||
Next select "USB connection" and on the next page select your board. | ||
| ||
 | ||
| ||
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 | ||
| ||
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. | ||
| ||
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 baord: | ||
| ||
- `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 | ||
- `Arduino GIGA R1 WiFi`: Short pin 7 to GND until the led turns off | ||
- `Arduino Nano RP2040 Connect`: Short pin 2 to 3.3V until the led turns off | ||
- `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 | ||
| ||
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. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.