with ADU Products Without Using the AduHid.dll
The ADU products are standard USB HID class products and the
AduHid.dll is not required to communicate with them. Standard
Windows, Linux, Android or other operating systems can be made to
communicate with the ADU devices provided the target operating
system provides standard USD HID drivers.
Using standard USB HID drivers with the ADU interfaces requires
knowledge of various parameters and protocols followed by all ADU
These include, Vendor ID, Product ID, serial number format,
transfer type, etc. The user also must have knowledge of the ADU
This application note will provide this information.
1. ADU USB HID Parameters
a) All ADU products use the same Vendor ID to
identify Ontrak Control Systems as the manufacturer.
The ADU Vendor ID is HEX 0A07 or DEC 2567
b) All ADU Product ID's are simply the
corresponding ADU product number.
ADU100 product ID is HEX 64 or DEC 100
ADU200 product ID is HEX C8 or DEC 200
ADU208 product ID is HEX D0 or DEC 208
ADU218 product ID is HEX DA or DEC 218
ADU71 product ID is HEX 47 or DEC 71
c) All ADU product Serial Numbers are 6 byte
ASCII strings which consist of a leading alphanumeric character
followed by 5 numeric digits. The serial number is printed on
the front label of the ADU product.
d) All ADU products use Control Transfers to
send and receive data and commands from the host.
e) The control transfers are 8-bytes in length
for the ADU100, ADU200, ADU208, and ADU218, as they are Low-Speed
USB devices. The ADU70, ADU71 and ADU72 products use 64-byte control
transfers as they are High-Speed USB devices.
2. ADU Command Protocol
The ADU products use standard ASCII based commands and data with
one distinction. The first byte received by the ADU product
identifies whether the following data is a command, or RS232
data. If the first byte is HEX01, the ADU device treats the
following ASCII data as a command. If the first byte is HEX02, the
ADU device identifies the following string as data to be sent out on
the RS232 port of the ADU device. Presently, only the ADU100
and ADU200 feature auxillary RS232 ports.
Note that ADU ASCII commands are not case sensitive, and, that all ASCII data returned as a result of a command
is also preceeded with a HEX01.
For example, to send an "SK0" command to an ADU200 ( to close
relay 0 ) the following data is sent;
01h 53h 4Bh 30h 00h 00h 00h 00h ( "SK0" sent to ADU200 )
Note that the padding of nulls (00h) in the last 4 positions is handled
by the HID driver.
Here is a second example where "RE2" ( read event counter 2 ) is
sent to an ADU218 to retrieve event counter 2 data.
01h 52h 45h 32h 00h 00h 00h 00h
( "RE2" sent to ADU218 )
01h 31h 30h 34h 34h 39h 00h 00h (count of "10449"
returned to host )
Following are links to tutorials on using USB HID drivers in some popular