Register Your Device
After configuring your programming environment, the next step is to register your device in the Certification Console.
This registration process involves three main parts:
- Defining your product and its features in the console
- Registering your specific physical test device by generating and uploading its unique credentials
- Downloading your onboarding profile
Part 1: Create and Define Your Product
This phase involves setting up your product's definition, behavior, and user experience within the SmartThings platform.
1. Create a Product and Add Details
First, log in to the SmartThings Developer Center with your Samsung account. Navigate to the Certification Console (under the Tools tab) and select "Add a new product."
The information you enter here acts as a placeholder for your device in the SmartThings app and links to the Device Identities you will register later.
2. Provide Integration Details
Next, you will define the core integration properties.
Select Direct Connected Device for mqtt. On this page, you will define the device profile, onboarding profile, regional availability, and purchase URLs for your device.
3. Add a Device Profile
A Device Profile defines a device and its features on the SmartThings platform. It contains the components (which hold Device Capabilities) and metadata (ID, name, ownership, etc.) that determine how a device behaves.
Click Create a profile here to open the Device Profile Builder. This tool will guide you through:
- Entering basic info for your device.
- Selecting the Capabilities of your device's main component.
- Defining the presentation (UI) of your device in the app.
Note: The
Health CheckCapability will be automatically added to your Device Profile. We strongly recommend leaving this Capability in your Profile.
4. Define the Device Onboarding Profile
The onboarding profile defines the step-by-step instructions users will follow to add your device to SmartThings, including device ownership validation.
To add this information, click Create an onboarding profile here (next to the Onboarding profile field).
Customize the images and text to guide your customers' experience. You can also localize the text for any languages appropriate for where your device is distributed (English is the default).
5. Select Distribution Regions
Select the regions where you would like this product to be distributed. By default, your device is set to be available globally.
6. Add Product Purchase URLs
Add a purchase URL for each country where your product is available. This URL will be used for the "Buy" button in the SmartThings app, allowing users to purchase your product.
- The default URL will be applied to all countries set in your distribution.
- Country-specific URLs will override the default URL for those specific countries.
Part 2: Register a Physical Test Device
Once your product is defined, you must register your physical test device(s) with SmartThings before they can connect to the cloud. This process links a unique serial number and public key to your product.
1. Generate Device Credentials (ED25519 Key Pair)
Your device SDK includes a key generator utility, keygen.py, to create the required credentials.
You can find this tool at st-iot-device-sdk-c-reference/iot-core/tools/keygen/ or st-device-sdk-c/tools/keygen/. This script will also generate a random serial number for testing in the format of STDK + 12-digit alphanumeric number.
Run the script from your terminal:
$ cd ~/st-device-sdk-c-ref/iot-core/tools/keygen/
$ python3 stdk-keygen.py --firmware switch_example_001
Use following serial number and public key
for the identity of your device in Developer Workspace.
Serial Number:
STDK**E90W***uCX
Public Key:
nFN5x***uQusQ****ZHoBSFaAoP9***kNdLnjDJRew=
Save the Serial Number and Public Key from this output.
2. Register Credentials in the Console
Now, add these credentials to your product in the Certification Console.
- From your product's dashboard, find the Actions menu and click Manage Test Devices.
- On the device list page, click Register Test Devices and select Manually input.
- Copy the
Serial Numberfrom the script output and paste it into the Serial Number field. - Copy the
Public Keystring from the script output and paste it into the Public Key field.
Part 3: Download your Onboarding Profile
Your device requires an onboarding_config.json file to connect to SmartThings. This file is generated automatically by the console once all product creation requirements are met.
Go to your product's Actions menu and select Download Onboarding Config. Add this downloaded file to your device's application.
Tip: If you are using a sample application from the examples Git repo, download your
onboarding_config.jsonand use it to replace the sample config file found in the main directory of the sample device.
Generate a Device QR Code
A device QR code can help users onboard your device more easily.
Important: An onboarding QR code is mandatory for WWST certification. Visit the Publish section for complete QR code details.
Your QR code must encode a URL with the following information:
{Your mnId}: The 4-digit alphanumeric mnId for your account.{Device onboardingId}: The 3-digit number for your Onboarding ID (located in your Certification Console product -> “Device Onboarding” -> “Other Info”).{Device serialNumber}: The device serial number you registered.
URL Format:
https://qr.samsungiots.com/?m={Your mnId}&s={Device onboardingId}&r={Device serialNumber}
You can use this Python script to generate a QR code image:
import qrcode
mnid = 'FFFF' # "FFFF" is an example. you should replace it with yours
onboardingId = '111' # "111" is an example. you should replace it with yours
serialNumber = 'STDKtest0001' # "STDKtest0001" is an example. you should replace it with yours
qrUrl = '[https://qr.samsungiots.com/?m=](https://qr.samsungiots.com/?m=)' + mnid + '&s=' + onboardingId + '&r=' + serialNumber
qrcode.QRCode(box_size=10, border=4)
img = qrcode.make(qrUrl)
img.save(serialNumber + '.png')