Wi-Fi Simple Setup Provisionee 2D Barcode Specification
- [Single Device Pack] DHA-Enabled Devices
- [Multi-Device Pack] DHA-Enabled Devices
- General Guidance for Barcode Placement
Frustration-Free Setup (FFS) utilizes two-dimensional barcodes in the DataMatrix ECC200 format. The content encoded in the barcodes essentially is a list of key: value pairs (i.e. key1:value1;key2:value2….).
A trailing semi-colon to terminate the content string is considered Optional.
FFS technology utilizes two different barcodes -
Product Barcode (Inner Barcode) - This is included inside the packaging of the device (ideally on the device surface). Package Barcode (Outer Barcode) - This is printed on the outside of the packaging of the device. The 'inner' barcode is scanned by the customer using a mobile app to claim ownership of the device so that FFS technology can automatically set up the device with the customer's account. The 'outer' barcode is scanned at the fulfillment center by the associates while shipping the device.
[Single Device Pack] DHA-Enabled Devices
Specification
The following is the full schema for the barcode
'inner' barcode: (ABV, SERNUM, PID, PUK, PIN )
'outer' barcode: (ABV, SERNUM, PID, PUK, UPC/EAN )
A package will have either an EAN or a UPC, not both.
Barcodes may have SERNUM or none
Product Barcode (Inner Barcode)
Key | Name | Description |
---|---|---|
ABV | Amazon Barcode Version | Defined by Amazon. This denotes the current version of the barcode encoding used to contain the data. It is 4 characters in length. For product barcode (inner barcode) its value is always IB01 |
SERNUM | Serial Number | Uniquely identifies the device which is assigned during the time of manufacturing. Device Serial Numbers are 16 Alphanumeric digits long. The SERNUM in the product barcode (inner barcode) is optional. SERNUM must be between 12 and 50 characters in length. |
PID | Product Id | Defined by Amazon and assigned to a product during product onboarding. It is unique to every product even for multiple products from the same manufacturer. It is alphanumeric and 4 characters in length. Reach out to your business development / solution architect lead to create a Product ID. |
PUK | Compressed Public Key | Public Key of the device that was generated during device manufacturing. This needs to adhere to the following representation - Base64.encode( compressed ECC public Key) and is unique to every device. Typically, we would use ECC 256-bit keys. |
PIN | Secret Pin | A random secret PIN for the device generated at the time of device manufacturing. This is AlphaNumeric (Base64 = 27 x 2 + 10) and 9 characters in length. The PIN should also be stored on the device during the time of manufacturing and once stored should only be accessible by the FFS and/or the Out-Of-Box-Experience (OOBE) Application. PIN must be random. PIN must not use other barcode information (private or public key) as a seed |
Package Barcode (Outer Barcode)
Key | Name | Description |
---|---|---|
ABV | Amazon Barcode Version | Defined by Amazon. This denotes the current version of the barcode encoding used to contain the data. It is 4 characters in length. For package barcode (outer barcode) its value is always OB01. |
SERNUM | Serial Number | Uniquely identifies the device which is assigned during the time of manufacturing. Device Serial Numbers are 16 Alphanumeric digits long. The SERNUM in the package barcode (outer barcode) is optional. SERNUM must be between 12 and 50 characters in length. |
PID | Product ID | Defined by Amazon and assigned to a product during product onboarding. It is unique to every product even for multiple products from the same manufacturer. It is alphanumeric and 4 characters in length. Reach out to your business development / solution architect lead to create a Product ID. |
PUK | Compressed Public Key | Public Key of the device that was generated during device manufacturing. This needs to adhere to the following representation - Base64.encode( compressed ECC public Key) and is unique to every device. Typically, we would use ECC 256-bit keys. |
UPC | Universal Product Code | 12 digit numeric value assigned for the product by the manufacturer. Universal Product Code |
EAN | International Article Number | The 8-digit/13-digit EAN assigned for the package. If you print a product's EAN on the package, include this field in the barcode. International Article Number |
General Guidance for Barcode Generation
Below is the list of common settings that products should utilize to guide the printing of the FFS barcodes. The actual barcodes should, however, be tested to validate they are able to be effectively scanned.
Common Settings for Printing FFS Barcode
Key | Inner Barcode | Outer Barcode |
---|---|---|
Dimensions | 10 mm x 10 mm (minimum) | 15 mm x 15 mm (minimum) Typically 20 mm x 20 mm white label |
Cell Size | 36 X 36 | 36 X 36 |
Grade Level | Grade B or Higher | Grade B or Higher. |
Power Level | depends on print method | depends on print method |
Print Method | Laser Etching on Device Print on Label on Device | Print on Shipping Label |
Sample Data
Key | Value |
---|---|
ABV | IB01 (Inner Barcode) OR OB01 (Outer Barcode) |
DSN/SERNUM | G3A0PA01802300PE |
PID | ebK3 |
PUK | MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADLZXG+MzHkCUT1F88yQpaiDW7vu8XDSIhJwsVr2bmmag= |
PIN | 957AD9640 |
UPC | 841667145075 |
Inner Barcode with SERNUM | ABV:IB01;SERNUM:G3A0PA01802300PE;PID:ebK3;PUK:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADLZXG+MzHkCUT1F88yQpaiDW7vu8XDSIhJwsVr2bmmag=;PIN:957AD9640; |
Inner Barcode without SERNUM | ABV:IB01;PID:ebK3;PUK:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADLZXG+MzHkCUT1F88yQpaiDW7vu8XDSIhJwsVr2bmmag=;PIN:957AD9640; |
Outer Barcode with SERNUM | ABV:OB01;SERNUM:G3A0PA01802300PE;PID:ebK3;PUK:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADLZXG+MzHkCUT1F88yQpaiDW7vu8XDSIhJwsVr2bmmag=;UPC:841667145075; |
Outer Barcode without SERNUM | ABV:OB01;PID:ebK3;PUK:MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADLZXG+MzHkCUT1F88yQpaiDW7vu8XDSIhJwsVr2bmmag=;UPC:841667145075; |
[Multi-Device Pack] DHA-Enabled Devices
Specification
Note: Since multi-device barcodes will only be printed on the outside of the packaging there is no concept of multi-device 'product' barcodes.
A package will have either an EAN or a UPC, not both.
Package Barcode (Outer Barcode)
Key | Name | Description |
---|---|---|
ABV | Amazon Barcode Version | Defined by Amazon. This denotes the current version of the barcode encoding used to contain the data. It is 4 characters in length. Its value is OB03 for 3P DHAv2-based authentication enabled devices multi-pack. |
PID | Product Id | Defined by Amazon and assigned to a product during product onboarding (this would appear as 'Amazon Id' in Amazon Developer Portal when the product is onboarded). It is unique to every product even for multiple products from the same manufacturer. It is alphanumeric and 4 characters in length. |
PUK | Compressed public key | Public Key of the device that was generated during device manufacturing.This has to adhere to the following format: Base64.encode(PUK1)_Base64.encode(PUK2) where PUK1, PUK2 are compressed public keys. The underscore '_' is a delimiter between encoded PUKs of individual devices in the pack. It is recommended to use ECC 256-bit keys with prime256v1 curve. |
UPC | Universal Product Code | The 12-digit UPC assigned for the package. If you print a product's UPC on the package, include this field in the barcode. Universal Product Code |
EAN | International Article Number | The 8-digit/13-digit EAN assigned for the package. If you print a product's EAN on the package, include this field in the barcode. International Article Number |
General Guidance for Barcode Generation
The following list shows the common settings that products should use to guide the printing of the Amazon Frustration Free Setup barcodes. You should test the printed barcode to validate that they are scannable.
"Product" barcode | "Package" barcode | |
---|---|---|
Dimensions | 10 mm x 10 mm (minimum) | 15 mm x 15 mm (minimum), Typically 20 mm x 20 mm white label |
Cell Size | 36 x 36 | 36 x 36 |
Grade Level | Grade B or Higher | Grade B or Higher |
Power Level | Depends on print method | Depends on print method |
Print Method | Laser Etching on Device, Print on Label on Device, Print on Quick Start Guide | Print on Package |
Frustration-Free Setup Icon Image Guidance Next to Barcode
A Frustration-Free Setup icon key image helps customers find the right barcode associated with Frustration-Free Setup. Please add the following image to the left of the barcode with the specifications based on your implementation.
Sample Data
PUK generation logic for 2-device pack
- Generate 2 ECC Public Keys
- Concatenate their Base64.encoded() content with an underscore '_' separating the two. This will be the value of the PUK field
ECCPub1
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqdr7Kk24tVzAWFR7xjH+yueoGU3H
AEtMfxWebg/sUXIfmewn1VpNHL7ShZ3MRmcOzxcyZXkm1mje2RSok9aXHA==
-----END PUBLIC KEY-----
ECCPub2
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn8s5ws59qfIMjQaM8qnmSUonI8Se
pdxz5vnpJUEt73smTVuNmd6lIExG7H0dOGhJ96ho+S0/RKnmj7Cjme0ZUg==
-----END PUBLIC KEY-----
For packages with UPC
ABV:OB03;UPC:841667145075;PID:Abv3;PUK:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqdr7Kk24tVzAWFR7xjH+yueoGU3HAEtMfxWebg/sUXIfmewn1VpNHL7ShZ3MRmcOzxcyZXkm1mje2RSok9aXHA==_MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn8s5ws59qfIMjQaM8qnmSUonI8Sepdxz5vnpJUEt73smTVuNmd6lIExG7H0dOGhJ96ho+S0/RKnmj7Cjme0ZUg==;
For packages with EAN
ABV:OB03;EAN:9002236311037;PID:Abv3;PUK:MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqdr7Kk24tVzAWFR7xjH+yueoGU3HAEtMfxWebg/sUXIfmewn1VpNHL7ShZ3MRmcOzxcyZXkm1mje2RSok9aXHA==_MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn8s5ws59qfIMjQaM8qnmSUonI8Sepdxz5vnpJUEt73smTVuNmd6lIExG7H0dOGhJ96ho+S0/RKnmj7Cjme0ZUg==;
General Guidance for Barcode Placement
Placement of the barcode should follow the guidelines from the GS1 US barcode placement specification.
In particular, the following rules should be followed:
- General placement - Back of the box, Lower right quadrant
- Edge rule - No less than 8mm from the edge, no more than 102mm from the edge of the package
- Quiet Zone sizing - The Quiet Zone (blank space around the barcode) should follow a 2x module size rule.
- For a .37mm module size, the QZ should be .74mm
Version | Date | Author | Description |
---|---|---|---|
1.0 | Sept 25, 2019. | Amazon. | General Availability |
1.1 | July 22, 2020. | Amazon. | Removal of Amazon specific key from barcode spec. |
1.2 | Jan 21, 2021. | Amazon. | Added barcode placement image. |