# AMB-8I-4O

The AMB-8I-4O input/output expander with Modbus RTU and IEC-60870-5-101 protocol support (under development). It has 8 isolated digital inputs with voltage range up to 30VDC and 4 relay output with 5A 230V range and NO contacts. The power supply range is 8 to 48V DC. The use of DC / DC technology for supplying relays enables a wide range of supply voltages.

Please read carefully before starting. Also read the product [safety information.](https://docs.atreyo.in/books/amb-8i-4o-expander/page/safety-information)

# General information

<table id="bkmrk-download-technical-s" style="border-collapse:collapse;width:100%;"><colgroup><col style="width:50%;"></col><col style="width:50%;"></col></colgroup><tbody><tr><td>Download technical specification</td><td>[Technical Specification](https://www.atreyo.in/sites/default/files/a-download/AMB-8I-4O%20Technical%20Specification.pdf)</td></tr></tbody></table>

The AMB-8I-4O input/output expander with Modbus RTU and IEC-60870-5-101 protocol support. (under development). It has 8 isolated digital inputs with voltage range up to 30VDC and 4 relay output with 5A 230V range and NO contacts. The power supply range is 8 to 48V DC. The use of DC / DC technology for supplying relays enables a wide range of supply voltages.

---

#### Connection information  


Below is a description of the expander connectors. The outputs of the expander are directly connected to the relay leads. The relays are of normal open type.

![AMB-8I-4O connectors.png](https://docs.atreyo.in/uploads/images/gallery/2025-03/u1pamb-8i-4o-connectors.png)

---

#### Wiring

The expander has opto-isolated inputs that require an external voltage source in range of a 5-30V. The inputs can be driven by both positive and negative signals, this means that they can be controlled in both PNP and NPN systems. Both examples are shown in the attached diagram.

The outputs of the expander are directly connected to the relay leads. The relays are of normal open type.

#### NPN wiring example

[![AMB-8I-4O-wiring-01.png](https://docs.atreyo.in/uploads/images/gallery/2025-09/scaled-1680-/xMPamb-8i-4o-wiring-01.png)](https://docs.atreyo.in/uploads/images/gallery/2025-09/xMPamb-8i-4o-wiring-01.png)

#### PNP drivig example

[![AMB-8I-4O-wiring-02.png](https://docs.atreyo.in/uploads/images/gallery/2025-09/scaled-1680-/uC1amb-8i-4o-wiring-02.png)](https://docs.atreyo.in/uploads/images/gallery/2025-09/uC1amb-8i-4o-wiring-02.png)

<p class="callout info">It is possible to combine any input in any mode. One can be NPN and the other PNP, as all inputs are independent.</p>

# Configuration Manual

Configuration

AMB-8I-4O is an I/O expander operating over Modbus RTU and IEC60870-5-101 protocol. The first DIP switch is used to switch between Modbus RTU and IEC modes. If it is in position 0, then the AMB is operating in Modbus RTU mode. If it is in position 1, then it works in the IEC protocol. As the two protocols have different functions, the DIP switch is also different. In IEC mode, the last DIP switch is used to change the operating mode from balanced/unbalanced. To save the DIP switch settings in the internal memory, the SAVE button must be pressed.

# Configuration IEC60870

##### DIP switch configuration

This is DIP switch functions diagram for Modbus RTU configuration. For enable IEC60870 protocol 1 switch should be in ON position.

[![AMB-8I-4O-DIP-2.png](https://docs.atreyo.in/uploads/images/gallery/2025-03/scaled-1680-/amb-8i-4o-dip-2.png)](https://docs.atreyo.in/uploads/images/gallery/2025-03/amb-8i-4o-dip-2.png)

##### Parity configuration

Parity configuration for both Modbus and IEC.

<table border="1" id="bkmrk-parity-function-00-n" style="border-collapse: collapse; width: 35.3571%;"><colgroup><col style="width: 38.4316%;"></col><col style="width: 61.5684%;"></col></colgroup><thead><tr><td>Parity</td><td>Function</td></tr></thead><tbody><tr><td>00  
</td><td>NONE</td></tr><tr><td>01  
</td><td>ODD  
</td></tr><tr><td>10  
</td><td>EVEN  
</td></tr><tr><td>11  
</td><td>NONE</td></tr></tbody></table>

---

##### Baudrate configuration

Baudrate configuration for both Modbus and IEC

<dl id="bkmrk-switch-baudrate-0000"><dd><table border="1" style="border-collapse: collapse; width: 35.4762%;"><thead><tr><td>Switch</td><td>Baudrate</td></tr></thead><tbody><tr><td>0000  
</td><td>9600</td></tr><tr><td>0001  
</td><td>1200</td></tr><tr><td>0010  
</td><td>2400</td></tr><tr><td>0011  
</td><td>4800</td></tr><tr><td>0100  
</td><td>14400</td></tr><tr><td>0101  
</td><td>19200</td></tr><tr><td>0110  
</td><td>28800</td></tr><tr><td>0111</td><td>38400</td></tr><tr><td>1000  
</td><td>57600</td></tr><tr><td>1001  
</td><td>76800</td></tr><tr><td>1010  
</td><td>115200</td></tr><tr><td>1011  
</td><td>230400</td></tr><tr><td>1100  
</td><td>256000</td></tr><tr><td>1101  
</td><td>460800</td></tr><tr><td>1110  
</td><td>576000</td></tr><tr><td>1111  
</td><td>921600</td></tr></tbody></table>

---

</dd></dl>##### Address configuration for IEC

<table border="1" id="bkmrk-switch-value-iec-add" style="border-collapse: collapse; width: 44.5238%; height: 547.4px;"><thead><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">Switch</td><td style="height: 32.2px; width: 33.2394%;">Value</td><td style="width: 33.2394%;">IEC Address</td></tr></thead><tbody><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0000  
</td><td style="height: 32.2px; width: 33.2394%;">0</td><td style="width: 33.2394%;">1  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0001  
</td><td style="height: 32.2px; width: 33.2394%;">1</td><td style="width: 33.2394%;">2  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0010  
</td><td style="height: 32.2px; width: 33.2394%;">2</td><td style="width: 33.2394%;">3  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0011  
</td><td style="height: 32.2px; width: 33.2394%;">3</td><td style="width: 33.2394%;">4  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0100  
</td><td style="height: 32.2px; width: 33.2394%;">4</td><td style="width: 33.2394%;">5  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0101  
</td><td style="height: 32.2px; width: 33.2394%;">5</td><td style="width: 33.2394%;">6  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0110  
</td><td style="height: 32.2px; width: 33.2394%;">6</td><td style="width: 33.2394%;">7  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">0111</td><td style="height: 32.2px; width: 33.2394%;">7</td><td style="width: 33.2394%;">10  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1000  
</td><td style="height: 32.2px; width: 33.2394%;">8</td><td style="width: 33.2394%;">20  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1001  
</td><td style="height: 32.2px; width: 33.2394%;">9</td><td style="width: 33.2394%;">30  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1010  
</td><td style="height: 32.2px; width: 33.2394%;">10</td><td style="width: 33.2394%;">40  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1011  
</td><td style="height: 32.2px; width: 33.2394%;">11</td><td style="width: 33.2394%;">50  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1100  
</td><td style="height: 32.2px; width: 33.2394%;">12</td><td style="width: 33.2394%;">60  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1101  
</td><td style="height: 32.2px; width: 33.2394%;">13</td><td style="width: 33.2394%;">70  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1110  
</td><td style="height: 32.2px; width: 33.2394%;">14</td><td style="width: 33.2394%;">80  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px; width: 33.2394%;">1111  
</td><td style="height: 32.2px; width: 33.2394%;">15</td><td style="width: 33.2394%;">90  
</td></tr></tbody></table>

---

#### EC60870-5-101 Implementation Guide  


##### Protocol Overview

The device implements IEC60870-5-101 protocol with the following key functions:

##### Reading States (Interrogation)

- C\_IC\_NA\_1 (100)
- Reading all inputs and outputs states 
    - Inputs: 1000-1007
    - Outputs: 2000-2003

##### Controlling Outputs

- Function: C\_SC\_NA\_1 (45)
- Purpose: Setting individual output states
- IOA range: 2000-2003
- Values: ON (1) / OFF (0)

#### Command Structure

##### General Interrogation Command

```
Type ID: 100 (C_IC_NA_1)
Qualifier: 20
Cause of Transmission: 6 (Activation)
Common Address: 1
```

##### Single Command (Output Control)

```
Type ID: 45 (C_SC_NA_1)
Cause of Transmission: 6 (Activation)
Common Address: 1
IOA: 2000-2003
Value: 0/1
```

#### SCADA system configuration

##### IEC60870-5-101 Protocol Configuration

- Common Address (ASDU): 1
- Frame format: FT1.2
- Link Layer Address: according to device configuration

##### I/O Points Configuration:

For inputs (8 channels):

- Type: Single Point Information (M\_SP\_NA\_1)
- IOA addresses: 1000-1007
- Direction: Monitoring (read)

For outputs (4 channels):

- Type: Single Command (C\_SC\_NA\_1)
- IOA addresses: 2000-2003
- Direction: Control (write)

Verification:

- Check if input states are correctly read (IOA 1000-1007)
- Confirm control operation for each output (IOA 2000-2003)
- Verify device responds to General Interrogation

<dl id="bkmrk-%C2%A0-1"><dd></dd></dl>

# Configuration Modbus

##### DIP switch configuration

This is DIP switch functions diagram for Modbus RTU configuration. For enable Modbus RTU protocol 1 switch should be in OFF position.

[![AMB-8I-4O-DIP-1.png](https://docs.atreyo.in/uploads/images/gallery/2025-03/scaled-1680-/amb-8i-4o-dip-1.png)](https://docs.atreyo.in/uploads/images/gallery/2025-03/amb-8i-4o-dip-1.png)

---

<dl id="bkmrk-switch-baudrate-0000"><dd>##### Baudrate configuration

Baudrate configuration for both Modbus and IEC

<dl id="bkmrk-switch-baudrate-0000-1"><dd><table border="1" style="border-collapse: collapse; width: 35.4762%;"><thead><tr><td>Switch</td><td>Baudrate</td></tr></thead><tbody><tr><td>0000  
</td><td>9600</td></tr><tr><td>0001  
</td><td>1200</td></tr><tr><td>0010  
</td><td>2400</td></tr><tr><td>0011  
</td><td>4800</td></tr><tr><td>0100  
</td><td>14400</td></tr><tr><td>0101  
</td><td>19200</td></tr><tr><td>0110  
</td><td>28800</td></tr><tr><td>0111</td><td>38400</td></tr><tr><td>1000  
</td><td>57600</td></tr><tr><td>1001  
</td><td>76800</td></tr><tr><td>1010  
</td><td>115200</td></tr><tr><td>1011  
</td><td>230400</td></tr><tr><td>1100  
</td><td>256000</td></tr><tr><td>1101  
</td><td>460800</td></tr><tr><td>1110  
</td><td>576000</td></tr><tr><td>1111  
</td><td>921600</td></tr></tbody></table>

</dd></dl>---

##### Address configuration for Modbus RTU

<table border="1" style="border-collapse: collapse; width: 47.2619%; height: 710.4px;"><thead><tr style="height: 32.2px;"><td style="height: 32.2px;">Switch</td><td style="height: 32.2px;">Value</td><td style="height: 32.2px;">Modbus Address</td></tr></thead><tbody><tr style="height: 32.2px;"><td style="height: 32.2px;">00000</td><td style="height: 32.2px;">0  
</td><td style="height: 32.2px;">1  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00001</td><td style="height: 32.2px;">1  
</td><td style="height: 32.2px;">2  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00010</td><td style="height: 32.2px;">2  
</td><td style="height: 32.2px;">3  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00011</td><td style="height: 32.2px;">3  
</td><td style="height: 32.2px;">4  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00100</td><td style="height: 32.2px;">4  
</td><td style="height: 32.2px;">5  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00101</td><td style="height: 32.2px;">5  
</td><td style="height: 32.2px;">6  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00110</td><td style="height: 32.2px;">6  
</td><td style="height: 32.2px;">7  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">00111</td><td style="height: 32.2px;">7  
</td><td style="height: 32.2px;">10  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01000</td><td style="height: 32.2px;">8  
</td><td style="height: 32.2px;">20  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01001</td><td style="height: 32.2px;">9  
</td><td style="height: 32.2px;">30  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01010</td><td style="height: 32.2px;">10  
</td><td style="height: 32.2px;">40  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01011</td><td style="height: 32.2px;">11  
</td><td style="height: 32.2px;">50  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01100</td><td style="height: 32.2px;">12  
</td><td style="height: 32.2px;">60  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01101</td><td style="height: 32.2px;">13  
</td><td style="height: 32.2px;">70  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">01110</td><td style="height: 32.2px;">14  
</td><td style="height: 32.2px;">80  
</td></tr><tr style="height: 34.2px;"><td style="height: 34.2px;">01111</td><td style="height: 34.2px;">15  
</td><td style="height: 34.2px;">90  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">10000</td><td style="height: 32.2px;">16  
</td><td style="height: 32.2px;">100  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">10001</td><td style="height: 32.2px;">17  
</td><td style="height: 32.2px;">110  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">10010</td><td style="height: 32.2px;">18  
</td><td style="height: 32.2px;">120  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">10011</td><td style="height: 32.2px;">19  
</td><td style="height: 32.2px;">130  
</td></tr><tr><td>10100</td><td>20  
</td><td>140  
</td></tr><tr><td>10101</td><td>21  
</td><td>150  
</td></tr><tr><td>10110</td><td>22  
</td><td>160  
</td></tr><tr style="height: 32.2px;"><td style="height: 32.2px;">10111</td><td style="height: 32.2px;">23  
</td><td style="height: 32.2px;">170  
</td></tr><tr><td>11000</td><td>24  
</td><td>180  
</td></tr><tr><td>11001</td><td>25  
</td><td>190  
</td></tr><tr><td>11010</td><td>26  
</td><td>200  
</td></tr><tr><td>11011</td><td>27  
</td><td>210  
</td></tr><tr><td>11100</td><td>28  
</td><td>220  
</td></tr><tr><td>11101</td><td>29  
</td><td>230  
</td></tr><tr><td>11110</td><td>30  
</td><td>240  
</td></tr><tr><td>11111</td><td>31  
</td><td>250  
</td></tr></tbody></table>

<p class="callout info">Address 1–247 → valid slave IDs for individual devices  
Address 0 → reserved for broadcast messages; all slaves receive it but no one replies   
Addresses 248–255 → reserved/unassigned (not permitted for standard device addressing)</p>

---

</dd></dl>

# Safety information

##### Operating environment

- The device is designed to be installed in clean, dust-free and insect-free places
- Operating temperature: -25 ~ 65°C (-13 ~ 149°F).
- Humidity range is 10% to 95% (non-condensing). Use the device in a dry environment.
- Away from heat sources and direct sunlight.
- It must not be exposed to acid fumes, salts and other chemicals.
- The device must not be used in places where there is a risk of gas explosion.

<p class="callout info">This is open type device intended for installation in a final casing/panel that offers mechanical protection and protection against the spread of fire.</p>

<p class="callout warning">Use in inappropriate conditions may damage the device or shorten its life.</p>

---

##### Electrical and power supply safety

- The device is powered with a voltage in the range of 8-48V. Voltage up to 24V is considered safe. Be especially careful when supplying them with higher voltages.
- Use only approved accessories
- Use the supplied power adapter or a good quality certified power adapter with the correct supply voltage range and sufficient power.
- Only use approved accessories like antenna etc.

<p class="callout warning">Only a person with qualification and appropriate knowledge should install the device.</p>

---

##### Malfunctioning and damaged device

- Do not disassemble the device.
- Only qualified personnel must service or repair the device or its accessories.
- If water or other liquid has got into the device, or if it looks mechanically damaged, do not connect the device, but take it to an authorized service center.

---

##### What to do and what not to do

- You are solely responsible for the use of the device and any consequences of its use.
- Do not store or use the device in harsh environments such as dust, gases, oils, chemical vapors and damp places.
- Do not throw the device and its accessories. Handle with care.
- The device heats up during operation. Ensure proper ventilation.
- If you need to dispose of your device, check your local regulations for recycling and disposal of electronics.
- Route power, Ethernet, and antenna cables properly so that they cannot be accidentally pulled out.
- The device should be used and kept away from small children.