USB-OPTO-RLY816, 8 optically Isolated Inputs, 8 16Amp Relay Outputs 
Technical Documentation 

Overview
The USB-OPTO-RLY816 provides eight optically isolated inputs and eight volt free contact relay outputs with a current rating of up to 16Amp each. The processor is powered and instructed from any standard USB bus and the relay power is obtained by the DC power input adaptor. The DC input jack is 2.1mm with positive core polarity, DC supplies are required to supply at least 500mA at 12vdc. The relays are SPCO (Single Pole Change Over) types. The normally open, normally closed and common pins are all available on the screw terminals.

Operating Temperature
-40C to +70C

Specification

USB - Standard type B receptacle.
Inputs - Absolute Max. 30v DC, Operational 4.5v to 27v DC
Outputs - Relay Contacts, see power graph below

LED Indication
Each of the eight input channels has a Green LED to indicate the input status.
Each relay output has a Red LED to indicate the relay status.
Also power status is indicated with an LED driven from the USB supply.

Relay power rating
If the contact load voltage and current of the relay are in the region enclosed by the solid and dotted lines in the
figure below, the relay can perform stable switching operation. If the relay is used at a voltage or current exceeding this region, the life of the contacts may be significantly shortened.

 

 load type   Typical applications   Rating  Max DC load capacity

 AC1  Non inductive or
 slightly inductive loads 
 16A @ 250V AC 
 AC15  Control of 
 electromagnetic load 
 (>72VA)
 3A @ 120V AC  
 1.5A @ 240V AC 
 AC3  Control of motor   750W
 DC1  Non inductive or
 slightly inductive loads
 16A @ 24V DC 
 DC13  Control of electromagnetic 
 loads
 0.22A @ 120V DC
 0.1A @ 250V DC

A full datasheet for the relays used on the USB-OPTO-RLY816 is here HF115FD

Which COM port?
After installing the drivers, and plugging in the USB-OPTO-RLY816 module to a spare USB port, you will want to know which COM port it has been assigned to. This will vary from system to system depending on how many COM ports you currently have installed. To find out where it is, right click on your "My Computer" desktop icon and select "Properties->Hardware->Device Manager". Now scroll down and open the "Ports (COM & LPT)" tab. You should see the USB serial port listed - COM5 in the example below. If you want to change the COM port number - just right click on it, select properties, select advanced and select the COM port number from the available list. The COM port default will probably be set up for 9600 baud, 8 data bits, no parity and one stop bits, but what ever it is just ignore it. These settings are not actually used because we have a full 12Mbits USB connection right into the heart of the processor.

Commands
The USB-OPTO-RLY816 operates with an easy to use command set as described in the table below. Most commands are only a single byte and if applicable the USB-OPTO-RLY816 will automatically send its response. The only exception to this being the "Set relay states" command which requires and additional desired states byte to be sent immediately after the command byte. 

Command

Action

dec hex
17 11 Returns channel 1 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
18 12 Returns channel 2 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
19 13 Returns channel 3 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
20 14 Returns channel 4 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
21 15 Returns channel 5 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
22 16 Returns channel 6 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
23 17 Returns channel 7 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
24 18 Returns channel 8 state as 1 byte, where 255 indicates input is powered and 0 indicates it is not.
25 19 Sends 1 byte back. Individual bits indicate input status of each channel, a 1 indicating powered input
26 1A Sends 8 bytes back. First byte is channel 1 as per command 0x11 above. Last byte is channel 8.
     
56 38 Returns 8 ASCII characters. This is an 8-digit globally unique identifier. No two modules will share this. 
     
90 5A Get software version - returns 2 bytes, the first being the Module ID which is 13, followed by the software version
91 5B

Get relay states - sends a single byte back to the controller, bit high meaning the corresponding relay is powered

92 5C Set relay states - the next single byte will set all relays states, All on = 255 (11111111) All off = 0
93 5D Get DC input voltage - returns relay supply voltage as byte, 125 being 12.5V DC
     
100 64 All relays on
101 65 Turn relay 1 on
102 66 Turn relay 2 on
103 67 Turn relay 3 on
104 68 Turn relay 4 on
105 69 Turn relay 5 on
106 6A Turn relay 6 on
107 6B Turn relay 7 on
108 6C Turn relay 8 on
110 6E All relays off
111 6F Turn relay 1 off
112 70 Turn relay 2 off
113 71 Turn relay 3 off
114 72 Turn relay 4 off
115 73 Turn relay 5 off
116 74 Turn relay 6 off
117 75 Turn relay 7 off
118 76 Turn relay 8 off

Opto Input Schematic

Board dimensions

  

Test program and example source code
To get the USB-OPTO-RLY816 up and running in the minimum amount of time we have put together an example program to demonstrate the functionality of the module.  

The test program is available built and ready to install here OptoRelayTest or as C# source code here OptoRelaySource