Since the iLoad Digital USB Load cells present themselves to Windows as COM ports, it is very easy to write your own program to read the loads. Simply open the COM port from your application and send the string O0W1. Then read the returned string back in millipounds. We recommend the following steps:

  1. Open the port at 9600, N, 8, 1, no hardware flow control.
  2. Write a [CR] to the port.
  3. Wait for a few milliseconds (say, 100 to 1000, this depends on your hardware, try a longer wait first then shorten it to see what works. (An alternative is to wait until there is a required number of characters in the input buffer, in this way the wait time is reduced to a minimum).
  4. Read the input buffer and discard till there are no characters to read. (You can check if you get an 'A' back)
  5. Write CT0[CR] to the port to TARE(zero load condition) the sensor,
  6. Wait for the 'A' for acknowledgment.
  7. Write O0W1[CR] to the port.
  8. Wait again for a few milliseconds.
  9. Read the input buffer and process. This will contain the load in millipounds.
  10. Repeat Steps 5 to 7 as needed.
  11. Discard any bytes left in the input buffer before you close the port.
  12. Close the port.
  13. If you want maximum throughput use the 'O0W0' command for continuous output of load in millipounds. The sensor will output the load as fast as the communications channel with the PC will allow. Typically 150 Hz on standard products and over 500 Hz with the optional high speed upgrade.


If callbacks (or events) are available, it is preferable to use them instead of polling the load cells in step 7 above. This way Windows will inform the application that there is data to be read.

Examples for Labview and Matlab are available on our support pages.

Basic Command Set for iLoad Digital USB Load Cells and DQ-1000U

<ENTER> This just pings the port and the sensor responds with “A” to indicate that it is set up and ready.
CT0 This sets the tare (or zero) for the sensor. If you plan to zero out a preload, please use this command.


The O0W1 command outputs the weight or force reading once.
(W command is not supported in all firmware versions).
O0W0 O0W0 outputs a continuous stream of weight or force readings. Hit <Enter> to stop streaming.
The output is in 1/1000 of a pound (millipound). E.g., if the reading returned is 2345, the sensor reading is equivalent to 2.345 lb.
SLC This command outputs a floating point number that indicates the load capacity of the sensor in lb.
SS1 This command outputs a factory ID of the sensor. This command can be used to identify each load cell uniquely. The user can burn his own serial number (or any other identifying string) into the load cell by issuing the
CS1 <id>
command. However this should be done only if the user is writing his own software and needs IDs that are different from the predefined IDs.
O0T1 Outputs the elapsed time (in milliseconds since the last tare) and the weight (in millipounds) once.
O0T0 Outputs the above time and weight information continuously. Hit <ENTER> to stop the output.
CPS xx Set averaging parameter 1.
is a number between 32 and 1023. Higher numbers 'smoothen' the readings but slow down the response. Higher numbers also increase the sensor resolution.
(It is not recommended that the user change this setting.)
CSS yy

Set averaging parameter 2.
yy is a number between 1 and 15. 1 means no averaging. 15 means highest averaging. Higher settings smoothen the data at the cost of latency.

(For firmware versions 9E and above set CSS=1)

CLA zz Set averaging parameter 3. (Only available in firmware versions 9E and above)
zz is a number between 1 and 256. (1 means no averaging, 256 means highest averaging)
? Shows the version number and commands available. Some of the commands are for internal use only.

If the user is writing his or own software to read the iLoad digital load cells, it is recommeded to remove averaging and use the settings:
CPS 32
Then perform any needed averaging in the application itself.

When sending commands to the load cell, simply send command<CR> where <CR> is the carriage return character (0x0D). There is no need to send the line feed character (0x0A). When reading from the sensor, you need to process both the <CR> and <LF> characters.

If you cannot find what you're looking for or have any other questions please call or email us and we will be glad to be of further assistance.