ICStation USBRelay¶
ICStation USBRelay¶
| Status | supported |
| 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.
WARNING: When reconnecting to the device (e.g. with sigrok-cli or SmuView) the connect will fail and the "query device"-command (0x50) will be interpreted as a bit mask and will turn on relays 1-4, 6 and 8. You have to power cycle the device to be able to reconnect!
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 is connected and has entered the command mode (0x51), every following byte will be interpreted as a bit mask for switching relays. There is no way to leave the command mode!
| Byte | Command |
|---|---|
| 0x50 | Query the device model. |
| Response: |
0xAB | ICSE012A | 4 relay version | | 0xAD | ICSE013A | 2 relay version | | 0xAC | ICSE014A | 8 relay version |
0x51 0xnn 0xnn ...
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):
| 0b00000001 | Turn off relay #1 and turn on relays #2 - #8 |
|---|---|
| 0b00000000 | Turn on all relays (#1 - #8) |
| 0b10101010 | Turn off relay #1, #3, #5, #7 and turn on relays #2, #4, #6, #8 |
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**


