Clearing the User-Accessible EEPROM on an NI-DAQmx Supported Device


I need to cleanse, clear or erase all the user-accessible memory on my device for security reasons. I know that volatile memory loses its contents when the device is powered off, but non-volatile memory retains its contents. The EEPROM is the only non-volatile memory on NI-DAQmx supported devices. How do I clear the user accessible portion of it?

The EEPROM contains up to 5 characters of user defined information and up to 4 bytes for the calibration password. To clear these values, first set them to a known value and then check these values to ensure the known value remains.
The user defined calibration information can be changed with the DAQmx Set Calibration User Defined Information function in the DAQmx API.  Run the attached VI to clear this, or complete the following steps in LabVIEW :

  1. From the Functions palette, select Measurement I/O»DAQmx - Data Acquisition»Advanced»Calibration»Cal Info node and put the node on the block diagram.
  2. Expand the node to expose two items.
  3. Left-click the items and select ActiveDev and then Cal.UserDefinedInfo from the menu.
  4. Right-click the node and select Change all to write.
  5. Create a constant at the input of ActiveDev, then select your device from the drop-down menu.
  6. Create a constant at the input of Cal.UserDefinedInfo, then enter " " in the box.
  7. Save the VI.
  8. Run the VI.

You can also read back the Cal.UserDefinedInfo to verify that the memory is, in fact, erased.

The external calibration password is 4 bytes maximum and is used to store the password for external calibration access.  This can be set with the DAQmxChangeExternalCalibrationPassword function.  The factory default is "NI".  

  1. From the Functions palette, select Measurement I/O»DAQmx - Data Acquisition»Advanced»Calibration»Change Password and put the VI on the block diagram.
  2. Create a control for device in, password, and newpassword as well as an indicator for error out.
  3. Specify the device you wish to change the calibration password for by selecting it from the drop down menu on the device in control on your front panel.
  4. Enter the current password into the password control on the front panel. The factory default is "NI".
  5. Enter the new password into the newpassword control on the front panel.
  6. Save the VI.
  7. Run the VI.

To validate the password, use the DAQmx Initalize External Calibration function with the correct password input.  If the password has not been changed, a 0 will be returned for the error.  

Publicly available Letters of Volatility can be found in the Related Links section of this article. For memory volatility information on other products, check

Note: National Instruments does not currently support clearing non-volatile memory on NI-DAQmx supported devices using LabVIEW NXG.

Additional Resources:






Language(s): LabVIEW



Hardware Group: Counter/Timers (TIO), Digital I/O (DIO), Multifunction DAQ (MIO)

Was this information helpful?