Skip to content
MPINO-8A8R industrial Arduino controller — front view

MPINO Series

MPINO-8A8R

MPINO-8A8R Industrial Arduino Controller

I/O at a glance
8 DI / 8 Relay / 4 AI / RS-232 / RS-485 / UART / I²C

MPINO-8A8R is an ATmega2560-based industrial Arduino-compatible PLC controller with 8 isolated digital inputs and 8 relay outputs. Onboard RS-232, RS-485, UART, I²C with Modbus RTU, programmable in the Arduino IDE. DIN-rail mountable for automation, testing, HMI integration and embedded control.

$88.00 In stock
Options
TOP CASE
Add-on products
Add related items you may need (optional)
MP Download Cable — product photo 1
MP Download Cable
MP Download Cable (USB-TTL converter built in)
$12.00
Super capacitor DDL 5.5V 1F — a radial supercapacitor with two leads, for the +5V terminal
Super Capacitor DDL 5.5V 1F
Super Capacitor DDL 5.5V 1F (power-fail retention)
$4.40
Total$88.00

Shipping

International shipping (EMS) — calculated at checkout by destination & weight

Shipping weight 300 g (per unit)

Dispatch

Ships the next business day (regardless of order time)

Large orders may take 1 extra day to dispatch

Returns & Exchange

Cancel before dispatch · request a return/exchange after delivery

Key features

/ FEATURES
  • ATmega2560 core, programmable in the Arduino IDE and MPINO STUDIO2
  • 8 opto-isolated digital inputs (NPN/PNP, up to 40 V tolerant)
  • 8 relay outputs for AC/DC dry-contact switching
  • 4 analog inputs (0–5 V / 4–20 mA / 0–10 V ranges)
  • Industrial communication: RS-485, RS-232, UART, I²C · Modbus RTU
  • DIN-rail 35 mm mountable, isolated field I/O for the factory floor

Specifications

/ SPEC
MCUATmega2560
Power inputDC 12V – 24V
Digital inputs8
Relay outputs8
Analog inputs4
High-speed pulse inputs2
High-speed pulse outputs6
RS-2321ch
RS-4851ch
UART1ch
I²C1ch
Modbus RTUYes
LS CnetYes
Mitsubishi MCYes
Arduino IDE compatibleYes

Software

Arduino IDE / MPINO Studio 2

Editing an MPINO sketch in the Arduino IDE, with the serial monitor showing the board runningMPINO Studio 2 with the explorer, the code editor and the ladder diagram side by side in one window

Arduino IDE compatible

Works with the Arduino toolchain you already use

MPINO STUDIO2 included

Arduino code and ladder logic in one tool

Arduino + ladder logic

Build control logic faster with familiar ladder rungs

Setting up the toolchain

Installing the ARDUINO SDK adds this product's board definition to the Arduino IDE and makes the functions that earn their keep in industrial work available as built-in commands. There is no library to add — the Arduino IDE offers them with autocompletion as you type.

Built-in commands the SDK unlocks

  • PLC timers · callback timersIton · Itof · Itpl · Itmr · ItimerSet
  • CountersIctu · Ictd · Ictud · IgetCount
  • Scaling · PID controlIscale · Iscalef · IpidSet · IpidRun
  • First-in and last-in buffersFIFO · FILO
  • Input debounce · edge detectionIbounce · IdigitalRead · Iup · Idown · Ialt
  • Debug · watchdogdebug · debugln · WDT_ENABLE · WDT
  • Modbus RTU · LS Cnet · Mitsubishi MCImodbusRTU · ICnet · IMcProtocol
  • Analog input · 4–20 mA correctionanalogRead2 · IanalogRead · IanalogFilter · ntcRead
  • PWM · pulse · high-speed counterPWM · FDPWM · NPWM · TCNTSETUP · TCNTOUT

Using the Arduino IDE requires the ARDUINO SDK (the ILOGICS board package) to be installed. MPINO STUDIO2 can be used without installing it.

This board can also be used without the ARDUINO SDK by selecting the MEGA2560 board in the Arduino IDE. In that case the ILOGICS built-in commands are not available.

Download CableMP DOWNLOAD CABLE

Programming this board needs the dedicated download cable

The upload port on this board is a mini 5P USB socket, but the USB-to-serial conversion lives in the CABLE, not on the board. Plug in an off-the-shelf mini 5P USB cable and the PC never enumerates a port, so nothing uploads. The MP download cable is one we build ourselves — buy one and keep using it.

  • USB-TTL converter inside

    The conversion IC sits in the connector housing

  • Generic mini 5P cannot be used

    An ordinary cable enumerates no port and cannot upload

  • USB-A to mini 5P

    Connects the PC's USB port to the board's upload port.

  • Made by ILOGICS

    A dedicated cable for use with ILOGICS products.

What the cable is

USB-TTL converter insideUSB-TTLCable length 1 mUSB-A · PCmini 5P · board upload port

* Having the conversion IC inside the housing is what sets this apart from an ordinary cable. Board end is mini 5P, PC end is USB-A, and the cable is 1 m long.

Sold separately — order it with the board under Add-on products.

Cable specification

ItemDetail
PC endUSB-A plug
ConversionUSB-TTL converter inside the cable
Board endUSB mini 5P plug
Length1 m
DriverFTDI

Installing the driver

  1. Connect the MP download cable between the PC's USB port and the board's upload port.
  2. Open Device Manager and check whether USB Serial Port (COMx) appears under Ports (COM & LPT).
  3. If it does not appear, install the FTDI driver from the resources section and reconnect the cable.
  4. In your development tool, select the same COM number Device Manager shows, then upload.

Digital input

8 isolated digital input channels

Eight digital input channels read external switches and sensors reliably, straight from the terminal block.

  • D22–D29 inputs

    Eight digital input points in total

  • COM0 common

    All 8 points share COM0

  • Optocoupler isolation

    Control circuit protected from field noise

  • NPN / PNP sensors

    Works with either sensor wiring convention

Input channel layout

D22D23D24D25D26D27D28D29++COM0D22~D29 / COM08P · 1COM

* Example wiring for external switches or sensors (NPN/PNP shared)

Optocoupler isolation

DxCOMx

The digital inputs use a bidirectional optocoupler stage (anti-parallel LEDs), so either NPN or PNP signals are read reliably, with all 8 channels referenced to COM0.

Example sketch — reading an input
void setup() {
    pinMode(62, OUTPUT);  // R(62) as an output
    // I(22)~I(29) work as inputs by default (photocoupler inputs)
}

void loop() {
    if (digitalRead(22) == HIGH) {
        digitalWrite(62, HIGH);   // I(22) ON -> R(62) ON
    } else {
        digitalWrite(62, LOW);
    }
}

Relay output

8 relay output channels (1a1c)

8 relay output channels control external loads running on AC or DC, reliably.

  • D62–D69 outputs

    8 relay contact output points

  • 8 × 1a1c relays

    Each output is an independent relay contact

  • 2 outputs per COM

    Each COM terminal is shared by 2 outputs

  • Electrical isolation

    Control and output sides separated by the relay

Output channel layout

D62D63+COM2D64D65+COM3D66D67ACCOM4D68D69ACCOM5D62~D698P · 2P/1COM

* Example wiring for external loads (relay contact output)

Relay output structure

Control (MCU)Output

Each relay output is a 1a1c relay that mechanically separates the control side from the output side, with 2 outputs sharing one COM terminal. Being a volt-free contact, it switches both AC and DC loads.

Example sketch — driving a relay output
void setup() {
    pinMode(62, OUTPUT);
}

void loop() {
    digitalWrite(62, HIGH);
    delay(1000);
    digitalWrite(62, LOW);
    delay(1000);
}

Analog inputAnalog Input

4 analog input channels, four input modes selected per channel by jumper

A(0)–A(3) are poles of the long terminal strip along the top edge, next to AGND. Each channel has its own four-position jumper: DC 0–5 V, DC 0–10 V, 0–20 mA, or an NTC thermistor — so a temperature probe goes on the same channels as any other analog signal.

  • A(0)–A(3) · 4 channels

    Four 10-bit (0–1023) analog input points

  • Four input modes

    0–5 V · 0–10 V · 0–20 mA · NTC, per channel

  • Jumper selected

    Its own 4-position jumper on every channel

  • External reference

    A REF3025 precision reference at 2.5 V

Analog input terminals

A(0)–A(3) / AGND4CH · 10BITA(0)A(1)A(2)A(3)AGNDBoard interiorInput circuit → ADCGNDA(0)A(1)A(2)A(3)5V10V20mANTCMode jumper
Analog input A(0)–A(3)4-position mode jumperAGND

* Poles of the long terminal strip along the top edge, in the order A(0) · A(1) · A(2) · A(3) · AGND. The mode is set on that channel's own four-position jumper; the marked position is the factory setting.

Input modes

Input modeInput rangeInput resistance
Voltage (default)DC 0–5 V2 kΩ
VoltageDC 0–10 V4 kΩ
Current0–20 mA250 Ω
NTC temperatureNTC 10 kΩ @25 °C, β=395010 kΩ pull-up

All four channels are 10-bit (0–1023). The reference is REF3025 at 2.5 V. In NTC mode a 10 kΩ ±1% pull-up ties the channel to 2.5 V; use a thermistor that reads 10 kΩ at 25 °C.

Example sketch — reading an analog input
unsigned int ADC0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  ADC0 = analogRead(0);  // A(0) terminal, 0~1023
  // scale: out = (in / in_Max) * (Scale_Max - Scale_Min) + Scale_Min
  ADC0 = ((unsigned long)ADC0 * (3000 - 0)) / 1023 + 0;

  Serial.print("ADC0: ");
  Serial.println(ADC0);
  delay(500);
}

High-speed pulse outputPWM Output

6 PWM points on screw terminals, 8-bit or 16-bit duty

PWM5 · PWM2 · PWM3 / PWM6 · PWM7 · PWM8 come out on screw terminals as 6 PWM points. Each swings 0 V to 5 V at up to 30 mA behind a 150 Ω series resistor, and the duty is 8-bit by default or 16-bit once the timer registers are set. Points that share a timer share a frequency; their duty stays independent.

  • 6 PWM points

    Screw terminals · PWM5 · PWM2 · PWM3 / PWM6 · PWM7 · PWM8

  • Timer3 / Timer4

    Points on one timer share a frequency

  • 8-bit or 16-bit duty

    0–255 by default, 0–65535 with the registers set

  • 0 V / 5 V · 30 mA

    150 Ω series protection on every point

Pulse output specs

ItemValueNote
Points6PWM output on screw terminals
Output levelLOW DC 0 V / HIGH DC 5 VMax 30 mA per point
Series protection150 ΩShort-circuit protection
Duty resolution8-bit (0–255)Up to 16-bit (0–65535)
Timer3PWM5 · PWM2 · PWM3 (D5 · D2 · D3)Shared frequency
Timer4PWM6 · PWM7 · PWM8 (D6 · D7 · D8)Shared frequency

analogWrite(pin, duty) drives a point. Two points on the same timer cannot run at different frequencies — only their duty is independent.

PWM terminals and duty

Timer3PWM5D5PWM2D2PWM3D3GNDTimer4PWM6D6PWM7D7PWM8D8GNDDuty (analogWrite)25%50%75%5V0V
Timer3Timer4GND (shared return)

* The silkscreen is what you wire against; the smaller line under each pole is the resource behind it. GND is the return for every point.

Before you wire it

  • These outputs are not isolated and are rated 30 mA. Drive a relay, a solenoid or any inductive load through an external driver, never directly.
  • Setting a timer's registers for 16-bit duty changes every point on that timer, not just the one you are writing to.
Example sketch — PWM output
void setup() {
  // analogWrite needs no pinMode
}

void loop() {
  if (digitalRead(22) == HIGH) {
    analogWrite(5, 127);  // PWM5 terminal (D5), duty 50% (127/255)
  } else {
    analogWrite(5, 0);
  }
}

Interrupt · high-speed counterInterrupt · Counter

4 interrupt inputs and 2 isolated counter inputs

PWM2 · PWM3 · SDA · SCL take attachInterrupt(), and separately TCNT1 · TCNT5 · COM1 is a photocoupler-isolated counter input that a timer counts in external-clock mode — up to 5 kHz, and DC 0–80 V at the terminal rather than the 5 V an interrupt pin can take.

  • 4 interrupt inputs

    PWM2 · PWM3 · SDA · SCL

  • 2 isolated counter inputs

    TCNT1 · TCNT5 · COM1 · up to 5 kHz

  • Rotary encoder

    SDA / SCL as phases A and B, above 50 kHz

  • 4.7 kΩ pull-ups

    On SDA and SCL, shared with I²C

Interrupt and counter specs

ItemValueNote
Interrupt inputs4 pointsPWM2 · PWM3 · SDA · SCL
Interrupt levelDC 0–5 VHIGH from 3 V · MCU I/O, no isolation
Counter inputs2 pointsTCNT1 · TCNT5 · COM1 · LTV-214 isolated
Counter levelDC 0–80 VHIGH from 3V
Counter speedup to 5 kHzTimer external-clock mode
Counter resourceTIMER1 / TIMER516-bit, 32-bit with the overflow ISR

The counter terminals are read from the timer's count register — digitalRead() does not work on them. The interrupt pins are ordinary MCU I/O and are not isolated.

Counting an input

Pulse counting+5VGNDCLKGND4.7kΩCounted by the timer, not by the sketchRotary encoderCLKDIODirection from the phase relationship

* Left: pulses into the counter terminal, counted in hardware. Right: the encoder's two phases are 90° apart, so the level of one at the other's edge gives the direction.

Interrupt and counter terminals

HIGH COUNTERTCNT1D79TCNT5D47COM1PWMPWM2D2INT4PWM3D3INT5I2CSDAD20INT1SCLD21INT0

* The larger line is the silkscreen; the smaller one is the Arduino pin and its INT number. The counter poles share one common; the interrupt pins are MCU I/O and take 5 V at most.

Before you wire it

  • The interrupt inputs connect straight to MCU I/O. More than DC 5 V will damage the MCU — the isolated counter input is the one that takes field voltages.
  • Using SDA and SCL as interrupts or as an encoder input means I²C cannot be used at the same time.
  • A timer used for counting cannot also generate PWM, and the reverse.
Example sketch — interrupt
void setup() {
  Serial.begin(9600);
  // a rising edge on PWM2 (D2) calls _INT2()
  attachInterrupt(digitalPinToInterrupt(2), _INT2, RISING);
}

void loop() {
}

void _INT2() {
  Serial.println("ok");
}
Example sketch — rotary encoder
volatile long encoderValue = 0;

void setup() {
  Serial.begin(115200);
  // SDA(20) = phase A, SCL(21) = phase B
  attachInterrupt(digitalPinToInterrupt(SDA), updateEncoder, FALLING);
}

void loop() {
  Serial.print("Encoder Value: ");
  Serial.println(encoderValue);
  delay(500);
}

void updateEncoder() {
  if (digitalRead(SCL) == false) { encoderValue++; }
  else { encoderValue--; }
}
Example sketch — hardware counter
unsigned int HCNT1, HCNT5;

void setup(void) {
  // TIMER1 external clock, rising edge
  TIMSK1 = 0x00; TCCR1A = 0x00; TCCR1B = 0x1F; TCNT1 = 0x00;
  // TIMER5 external clock, rising edge
  TIMSK5 = 0x00; TCCR5A = 0x00; TCCR5B = 0x1F; TCNT5 = 0x00;
}

void loop(void) {
  HCNT1 = TCNT1;  // pulses counted on the TCNT1 terminal
  HCNT5 = TCNT5;  // pulses counted on the TCNT5 terminal
}

void hcntReset() {
  TCNT1 = 0; TCNT5 = 0;
}

CommunicationRS-232 · RS-485 · UART · I²C

Four communication channels — RS-232, RS-485, a TTL UART and I²C

RS-232 is Serial1, RS-485 is Serial2 and the TTL UART is Serial3, each on its own terminal, and I²C is the Wire library with its pull-ups already fitted. Modbus RTU works as master or slave on every external port. RS-485 uses a MAX13487 transceiver that switches direction on its own, so no DE/RE control pin is needed.

  • RS-485 · 1 channel

    Serial2 · 1:N multidrop · MAX13487 auto direction

  • RS-232 · 1 channel

    Serial1 · point-to-point on the TX / RX terminals

  • UART (TTL) · 1 channel

    Serial3 · TXD, RXD terminals, no level driver

  • I²C · 1 channel

    Wire · 4.7 kΩ pull-ups built in · 1:N

  • Modbus RTU

    Master or slave on every external port

RS-232 · UART · I²C · USB connectors

RS-232TXRXUARTTXDRXDI²CSDASCLUSBDOWNLOAD

* Each connector is drawn as its silkscreen reads. The I²C connector carries the two SIGNAL pins only — power an I²C device from the +5V and GND poles of the power terminal. The program port is silkscreened DOWNLOAD.

RS-485 link

MAX13487 · Serial2485+485-RS-485 linkNode 1Node 2Node 3

* RS-485 is a multidrop bus, so 485+ goes to every node's 485+ and 485− to every node's 485−. Direction is switched by the transceiver itself; no DE/RE control pin has to be driven from the sketch.

Communication ports

PortPinsUse
SerialD1 (TX0) · D0 (RX0)Program upload and debug over the DOWNLOAD USB port
Serial1D18 (TX1) · D19 (RX1)RS-232 on the TX / RX terminals · point-to-point
Serial2D16 (TX2) · D17 (RX2)RS-485 on the 485+ / 485− terminals · 1:N
Serial3D14 (TX3) · D15 (RX3)TTL UART on the TXD, RXD terminals
Wire (I²C)SDA = D20 · SCL = D212-pin connector · 4.7 kΩ pull-ups built in

All four external ports support Modbus RTU as master or slave. The UART channel is TTL level with no line driver, so it reaches a nearby module directly rather than a long cable run.

Before you wire it

  • The I²C connector has signal pins only — take +5V and GND for the device from the power terminal (a supply output rated 1 A or less).
  • Using SDA and SCL as external interrupts or as an encoder input means I²C cannot be used at the same time.
  • The UART channel is TTL level and is not isolated. Do not connect it to an RS-232 or RS-485 line directly.
  • Uploading requires the MP download cable, which has the USB-TTL converter built in. An off-the-shelf USB cable cannot upload.
Example sketch — serial send and receive
void setup() {
  Serial.begin(9600);    // USB download
  Serial1.begin(9600);   // RS232
  Serial2.begin(9600);   // RS485 (MAX13487 switches direction on its own)
  Serial3.begin(9600);   // UART (TTL)
}

void loop() {
  if (Serial1.available()) {
    byte b = Serial1.read();
    Serial2.write(b);    // received on RS232 -> sent on RS485
  }
}

7-segment (FND) connectionFND · TM1637

A four-digit 7-segment display on two signal wires — up to 3 of them

The display module carries a TM1637 driver, so a four-digit readout needs only a clock line and a data line. This board has no dedicated display connector: the two signals go on ordinary screw poles — CLK = PWM7 · DIO = PWM8 is the recommended pair — and +5V and GND come off the bottom terminal strip, which makes the whole run four wires.

  • Two wires: CLK and DIO

    A TM1637 four-digit module needs no more

  • Up to 3 displays

    Each on its own pair of poles

  • Powered from the board

    +5V · GND on the bottom terminal strip · up to 1A

  • Built-in commands

    IsegDecimal and IsegHex print decimals and hex

Displays and their poles

DisplayTerminalsPins
Display 1CLK = PWM5 · DIO = PWM2D5 · D2
Display 2CLK = PWM3 · DIO = PWM6D3 · D6
Display 3CLK = PWM7 · DIO = PWM8D7 · D8
Supply+5V · GNDBoard output · up to 1A

The signal poles are PWM pulse output terminals doing double duty, so a pole driving a display is spent for as long as it does. The +5V pole is an output on this board, which is what lets the display run without a supply of its own. The display module itself is an accessory sold separately.

Recommended connection

4-digit 7-segment (FND) moduleCLKDIO+5VGNDPWM7D7PWM8D8+5VGND

* The poles are silkscreened PWM7 · PWM8 · +5V · GND; nothing on the board says CLK or DIO, so the role of each wire is printed where it lands. PWM7 is D7 and PWM8 is D8. The display comes in a decimal-point form and a time-displaying form, both sold separately.

Driving more than one

1PWM5CLKD5PWM2DIOD22PWM3CLKD3PWM6DIOD63PWM7CLKD7PWM8DIOD8

* Every display needs its own CLK and DIO pair; +5V and GND are shared by all of them. The pole names below are read left to right off the board, which is why the clock line is not always the left-hand one.

Before you wire it

  • A pole used for a display cannot be used as PWM pulse output at the same time.
  • The Iseg commands in the sketch below are built into the ARDUINO SDK — install the SDK and they are available, with no library to add and no #include to write.
  • PWM2 and PWM3 double as the external interrupt inputs INT4 and INT5. A pole driving a display cannot serve an interrupt at the same time.
  • The 7-segment module is an accessory sold separately; it is not included with the board.
Example sketch — driving a 7-segment display
// 4-digit 7-segment (TM1637) on the PWM7 and PWM8 terminals - CLK, DIO, +5V, GND
// Iseg* are ARDUINO SDK built-in commands: nothing to install, no #include to add.

void setup()
{
  IsegBegin(7, 8);
  IsegBrightness(7);   // 0-7 - required, nothing lights without it
  IsegClear();
}

void loop()
{
  IsegDecimal((millis() / 1000UL) % 10000UL, true);
  delay(200);
}

Power · Data retentionPower · Backup

DC 12V ~ 24V in, 5 V out — and your data survives the blackout

The controller takes DC 12V ~ 24V and converts it to 5 V internally with a LM2576 regulator. Size the supply for at least 24V 0.5A.

  • DC 12V ~ 24V

    Size the supply for 24V 0.5A or more

  • 5 V internal

    LM2576 DC-DC conversion

  • +5 V out 1A

    From the +5 V pole of the power terminal block

  • Supercapacitor hold-up

    About ten seconds on the +5 V pole

Before wiring the supply

  • EEPROM cells last about 100,000 writes. Keep fast-changing values in RAM and write them only when the mains drops — see the two methods below — not every loop.

Where the power goes

DC 12V ~ 24V24V 0.5A min.LM2576DC-DC to 5V5V internalFeeds the control circuit+5V terminalout 1A maxUSB 5VDownload portSupercapacitorAbout 10 s hold-up
Supply input5 V railData retention

* Either source runs the board: the external supply through the regulator, or the download port's 5 V directly. The supercapacitor sits on the same 5 V node and keeps it alive when both go away.

Power and data retention

Input voltageDC 12V ~ 24V
Recommended supply24V 0.5A or more
Internal conversionLM2576 DC-DC to 5 V
+5 V output1A max, from the +5 V pole of the power terminal block
USB-powered operationRuns on the PC's 5 V through the download port
Non-volatile memoryEEPROM 4 KB, about 100,000 writes
Hold-up on a power cutSupercapacitor on the +5 V pole, about ten seconds
Blackouts retainedMore than 100,000, writing only when the mains drops

Size the supply for 24V 0.5A or more, plus whatever the +5 V pole is feeding (up to 1A).

Two ways to keep data through a blackout

Which one you want depends on how often the value changes. They are meant to be combined.

EEPROM — values that change occasionally

The on-board EEPROM holds 4 KB with no power at all and is written a byte at a time, but the same cell survives only about 100,000 writes. That makes it right for setpoints, calibration data and machine configuration — and wrong for anything the loop updates.

Supercapacitor — values that change constantly

Fit a supercapacitor to the +5 V pole and the internal 5 V stays up for about ten seconds after the main supply is cut. Wire the main supply into a digital input, and the moment digitalRead() sees that input go off, write the value to EEPROM; when power comes back, setup() reads the stored value out of EEPROM and puts it into memory. Because the EEPROM is written only at the instant of a blackout, it survives more than 100,000 of them.

MPINO STUDIO2 — done for you

MPINO STUDIO2 offers supercapacitor-based retention as an option, so the sequence above can be set up in the tool instead of being coded by hand.

Mounting · DIN railDIN Rail

Clips onto a 35 mm DIN rail, or screws down through the PCB's own holes

Inside a control panel the board clips onto a 35 mm DIN rail; built into a machine it screws down through the Ø3 mounting holes in the PCB. The board measures 151.8 × 100 mm without the rail clip, and stands 114.16 mm high once the clip is closed on the rail.

  • 35 mm DIN rail

    Clips onto the rail in a control panel

  • Direct PCB mounting

    Screws through the Ø3 mounting holes

  • 151.8 × 100 mm

    PCB outline with no rail clip fitted

  • 114.16 mm engaged

    119.42 mm with the clip open, 114.16 mm closed

Mounting and dimensions

Mounting35 mm DIN rail, or direct to PCB (Ø3 holes)
DIN rail35 mm
PCB alone (no clip)151.8 × 100 mm
Mounting holesØ3 mm · 135 × 90.0 mm apart
Clip open (before engaging)approx. 119.42 mm
Clip closed (engaged)approx. 114.16 mm

Where no DIN rail is used, the board screws down through the Ø3 mounting holes in the PCB; on a rail, the clip closes over a 35 mm profile and the assembly stands 114.16 mm high.

Mounting on a 35 mm DIN rail

35 mm
DIN rail clip35 mm DIN railBoard

* The clip hooks over a 35 mm DIN rail. Overall height is 119.42 mm with the clip open and 114.16 mm once it is closed and engaged. The drawing shows the mounting method rather than the clip's own shape.

Outline and mounting holes

151.8135100Mounting hole Ø3

* The outline and mounting holes with no rail clip fitted. All dimensions in millimetres.

Installation notes

  • Indoor use only. Do not install where there is rain, dust, frost, direct sunlight or condensation.
  • Do not install in an atmosphere containing flammable or explosive gas.
  • Do not install where there is heavy vibration or shock.
  • Where the equipment affects life or property (nuclear, medical, marine, vehicle, aviation and the like), a secondary safety device must be fitted.

FAQ

How many I/O points does the MPINO-8A8R have?

The MPINO-8A8R provides 8 isolated digital inputs and 8 relay outputs, with onboard RS-485, RS-232, UART, I²C communication. See the specification table for the full breakdown.

Does the MPINO-8A8R support Modbus RTU?

Yes. The MPINO-8A8R supports Modbus RTU — master and slave alike — over its serial interface.

Related controllers

/ RELATED

Related guides

/ DOCS