UniqueWare™ Project Setup Manual Revision 2.00B

Abstract: UniqueWare is a way to customize EPROM iButtons® and 1-Wire® devices at the factory. It represents a convenient and affordable way to electronically label items with a unique serialization and to optionally add some text information around the serialization field. This tutorial shows how to set up a custom UniqueWare project with a software utility downloadable from Maxim's FTP site. The manual also covers the many options available for customization.


UniqueWare is a convenient and affordable way to electronically label items with a unique serialization and to optionally add some text information around the serialization field.

There are several options that allow customization of what is programmed into UniqueWare devices. This tutorial progresses through filling out the data fields of the programming software and explains the effect(s) of these entries. The data entered is used directly as a master to program the UniqueWare devices. Therefore, it is important that the reader understands how the data is used and what can be programmed in the UniqueWare devices.

Device Data Structure

A. Structure of the ROM Section

UniqueWare devices have a factory-lasered ROM ID number (Table 1) that serves several purposes:
  1. It identifies the logical behavior of the device by its family code.
  2. It stores the device's unique serial number.
  3. It validates that a device is genuine, because only UniqueWare devices have the special identifier code 5E7. Other devices have a different code stored in this location.
  4. It provides an 8-bit cyclic redundancy check (CRC) to verify the integrity of the complete ROM section.
  5. It acts as the node address to communicate with a specific device if several 1-Wire or iButton devices are connected in the 1-Wire network.
Table 1. UniqueWare Devices ROM Section
Memory Size 64-Bit ROM Registration Number
8-Bit CRC UniqueWare Identifier Device Serial Number Family Code
1kb   5 E 7 MSB (hex format) LSB 89
16kb   5 E 7 MSB (hex format) LSB 8B
  1 byte 12 bits 36 bits 1 byte
High address Low address

In addition to the ROM, UniqueWare devices have 128 bytes (1024-bit devices DS2502-UNW/DS1982U) or 2048 bytes (16Kb devices DS2505-UNW/DS1985U) of one-time-programmable data memory organized as pages of 32 bytes each. Up to four of these pages can be factory programmed with a unique Project ID number, a customer-specified serialization, and additional constant data patterns. The UniqueWare identifier in the ROM section and a unique Project ID number guarantee the authenticity of original UniqueWare parts that are only sold to the owner or authorized agents of the Project ID. Once programmed, the protected pages of UniqueWare devices cannot be altered.

B. Structure of the Data Memory

This section explains how data within the EPROM memory of UniqueWare is organized. There are basically two options (Table 2):
  1. Combine all pages into a single unnamed file (default data structure) containing UniqueWare data. There is an advantage to this approach: up to 121 bytes of user data* is available.
  2. Use one page as a directory and store the UniqueWare data as a named file (1-Wire file structure). This approach offers the advantages of the 1-Wire file structure:
    • Up to 80 bytes of user data* available
    • Give the UniqueWare data a file name
    • Use high-level API functions to read the UniqueWare file
*User data includes the customer-specified serialization field.

Table 2. Data Organization Options
Default Data Structure 1-Wire File Structure
Page 0 UniqueWare Data Device Directory
Page 1 UniqueWare Data (cont.) or blank UniqueWare File
Page 2 UniqueWare Data (cont.) or blank UniqueWare File (cont.) or blank
Page 3 UniqueWare Data (cont.) or blank UniqueWare File (cont.) or blank

Regardless of which data structure is chosen, the format of the UniqueWare file is very similar. With the default data structure the format always starts at physical address 0000h; with the 1-Wire file structure it starts at address 0020h. Table 3 shows the general structure of the UniqueWare file for the default data structure. With the 1-Wire file structure the UniqueWare file can occupy up to three pages. Each page begins with a length byte and ends with a control byte and a CRC16, leaving up to 28 bytes per page for data. For more details, please refer to application note 114, "1-Wire File Structure." As with the default data structure, the Project ID is stored in the beginning of the UniqueWare file. Pages not occupied by the UniqueWare file or device directory are available for programming by the user.

Table 3. UniqueWare Application Data
Length Project ID Text 1 Serialization Number Text 2 CRC16
  LSB MSB const. data LSB (hex. or BCD) MSB
MSB (Character format) LSB
const. data LSB MSB
1 byte 4 bytes assigned by factory Up to 121 bytes (no filename)
extending over adjacent pages
2 bytes
Low address   High address

With 1-Wire file structure there is a device directory starting at address 0000h. Details are shown in Table 4. According to 1-Wire file structure rules, the most significant bit of the 1-byte file extension will be set to 1 to indicate that the UniqueWare file is write protected.

Table 4. UniqueWare Device Directory (1-Wire File Structure)
Length Device Control Field File Entry Control CRC16
  AA 00 00 00 00 xx* yy* Name Ext. Address Length 00 LSB MSB
1 byte 7 bytes 5 bytes 2 bytes 2 bytes 2 bytes
Low address   High address

*The codes "xx yy" in the device control field represent the starting page address and length of the bitmap file of used pages. This is explained in application note 114. The codes are: 1024-bit devices: 00 01; 16kb devices: 08 01.

Skipping Number Ranges

During the lifetime of a UniqueWare project it may be necessary to jump forward in the serialization. Starting at a significantly higher number can indicate a major revision of the product in which the UniqueWare is embedded. If your project requires number ranges to be skipped, please complete the web form for the appropriate product line: 1-Wire Devices or iButtons and Accessories. Specify your company name, Project ID, and the new starting number. The Project ID will not be affected by skipping a number range. Ranges that once have been skipped cannot be reused later. Changes to the text data or serialization style will require a new data file and a new a Project ID.

Ordering Information

Technical information on UniqueWare devices is found in the DS1982U/DS1985U and the DS2502-UNW/DS2505-UNW data sheets, which can be downloaded from Maxim's 1-Wire Devices.

There is a software setup fee of $2000 on each UniqueWare device type. The minimum order quantity (MOQ) is 34,000 pieces with higher quantities available in multiples of 17,000 pieces in either bulk form or Tape and Reel (1-Wire chips only). The total order quantity (MOQ + additional 17,000 multiple) will cause a partial reel if the Tape and Reel device quantities in Figure 5 are not an even multiple of the total order quantity. The shipment quantity can be plus or minus 10% of the order quantity. Only the quantity shipped will be billed.

The iButtons can only be purchased in bulk form, delivered in bags. The 1-Wire chips can be shipped in bulk bags, tubes, or on Tape and Reel as per package type.

Table 5. Tape-and-Reel Device Quantities per Reel
DS2502 2k 4k 2.5k
DS2505 2k 4k  

Computer-Aided Data Setup


Several pieces of information are required to program UniqueWare devices for your application. To simplify the process and to avoid misunderstanding and errors introduced by retyping data from paper forms, Maxim software prompts for all relevant information, does error checking, and writes the result to a file. Using this program to specify your special UniqueWare device is called a Project Setup Session.

The Project Setup program is available at: Project Setup Program.

Download the above file and unzip it into a known folder. Double click on the file.

A session to create a set of UniqueWare data consists of six steps, each having its own screen:

Screen 1   Address: the company's name and address, etc.
Screen 2   Device Selection: which part to use?
Screen 3   Global Specification: data structure and file name
Screen 4   Serialization: length, counting style, starting number
Screen 5   Text: optional text around the serialization field
Screen 6   Save: saving session data to file

The required data must be filled in before you can proceed to the next screen.

Screen 1.

The Next button will advance the program to the next screen. The Back button returns the program to a past screen. The Back button can be used at any time on the following screens.

Screen 2.

The drop-down Device menu allows selection of one of three available sizes of UniqueWare memory devices. Note that next to the memory size is the iButton/1-Wire chip part number for confirming the correct selection.

Screen 3.

The Global Specs screen selects whether the device will use the default data structure or the 1-Wire file structure, depending on which option is selected in the "Select Total File Size:" box on the screen. To use the default data structure, select the "Up to 121 bytes" button. All other selections refer to the 1-Wire file structure.

The 1-Wire file structure requires either a specified file name (up to four characters) and a file extension (0-99), or the default file name of IDNR.0. This designation is done in the UniqueWare File Name window. The name specified here or the IDNR.0 default will be the file name used in the device. There is no file name with the default data structure.

Screen 4.

The Serialization window sets up the serialization field of the UniqueWare file. Three counting styles are available: hexadecimal; binary-coded decimal (BCD); decimal (ASCII).

The value specified for Number of Bytes for Serialization directly determines the highest number, and with it the maximum possible number range for serialization. After deciding on the counting style (hexadecimal, BCD, or ASCII), then the number of bytes required for the application can be calculated.

As an example, if up to, but no more than, a million different serial numbers are needed, the maximum number to be represented is 999 999.
  • Counting in ASCII style, each of these digits takes 1 byte of memory. The number of bytes for serialization will be 6 in this case.
  • With the BCD style (which also implies decimal counting), two digits fit into one byte. You will only need three bytes for serialization for the same number range in the above example.
  • The hexadecimal style (which implies binary number representation) can distinguish 256 different numbers with one byte. Although it will again need three bytes for serialization, the highest possible number in this case will be as high as 16.777216 million.
Table 6 shows more examples for the maximum serialization number, depending on the number of bytes reserved and the code selected. The maximum supported size for the serialization field is 24 bytes. When using decimal (ASCII) style for serialization, the serialization field must be at least four bytes.

Table 6. Examples for the Maximum Serial Number
Number of Bytes 2 3 4 5 6
Hexadecimal 65.535 × 103 16.777 × 106 4.294 × 109 1.099 × 1012 281.474 × 1012
BCD 9 999 999 999 99 999 999 9 999 999 999 999 999 999 999
Decimal (ASCII) N/A (99) N/A (999) 9 999 99 999 999 999

The Number of Bytes for Serialization field will determine the number of parts that will be available, and affect the amount of text that can be written. Be sure to select a high enough number.

The serialization starting number may be specified. If the counting style is hexadecimal, the starting number also needs to be specified in hexadecimal (0–9, A–F). If not otherwise specified, the serialization number starts with all zeros.

The starting serialization number should be as low as possible. Once a starting number is chosen, lower value numbers can never be recovered.

Screen 5.

In the Text window, it is possible to specify: text preceding the serialization field; text following the serialization field; text both preceding and following the serialization field; or omit additional text completely.

The text can be in character or hexadecimal format. The hexadecimal format allows only characters 0–9 and a–f (capitalization is not necessary).

Screen 6.

By clicking the Save button, the information will be saved. Be sure to note both the folder where the file is saved and the file name. The file can be viewed using this program by using the dropdown menu under the File heading. WARNING: Do not open and then save this file using a text editor, as this will corrupt the data pattern that was created.

The file can now be submitted as an attachment to the web form found at 1-Wire Devices or iButtons and Accessories, depending on whether your product is in a discrete package or the iButton form factor. In the web form, fill in the subject field with UniqueWare data file.