ICStation USBRelay
|  | |
| Status | in progress | 
|---|---|
| Source code | icstation-usbrelay | 
| Channels | 2, 4 or 8 | 
| Ratings | 10A @ 250VAC/30VDC, 12A @ 125VAC/28VDC | 
| Connectivity | USB/Serial | 
The ICStation USBRelay is a USB relay card with up to 8 relays. Models with 2 (ICSE013A), 4 (ICSE012A) and 8 (ICSE014A) relays exist.
See Info for USB details.
Photos
Hardware
- STM 8S003F3P6 microcontroller: datasheet
- Prolific PL-2303HX USB to UART Bridge: datasheet
- ULN2803AG relay driver: datasheet
Protocol
The relay boards have a very simple and limited protocol.
Note: Once the device has entered the command mode (0x51), every following byte will be interpreted as a mask for switching relays. When reconnecting to the device (e.g. with sigrok-cli or SmuView) the connect will fail unless you have repowered the device!
| Byte | Command | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 0x50 | Query the device model. Response: 
 | |||||||||
| 0x51 | Start command mode. Every following byte will be interpreted as a bit mask for switching the relays. 0 will turn a relay on, 1 will turn a relay off. Note: You cannot leave the command mode! Examples for switching mask bytes (ICSE014A, 8 relays): 
 | 
Example use
Detect the device and display its properties.
 $ sigrok-cli -d icstation-usbrelay:conn=/dev/ttyUSB0 --show
 Driver functions:
     Multiplexer
 Scan options:
     conn
     serialcomm
 icstation-usbrelay - ICStation ICSE012A
 Channel groups:
     R1: channel
     R2: channel
     R3: channel
     R4: channel
 Supported configuration options across all channel groups:
     enabled: on, off
Manipulate the state of relays.
$ sigrok-cli -d icstation-usbrelay:conn=/dev/ttyUSB0 --config channel_group=R1:enabled=off --config channel_group=R2:enabled=on --set

