Read Analog Input Ardbox/MDuino

Read Analog Input Ardbox/MDuino

Analog  Inputs (0-10V / 10  bits):


  • Analog: I0.1, I0.2, I0.3, I0.4, I0.5, I0.6, I0.7, I0.8, I0.9 (configurable Analog).
  • Relay: I0.4, I0.5, I0.6, I0.7, I0.8, I0.9 (configurable Analog).


  • M-Duino 21:  I0.7, I0.8, I0.9, I0.10, I0.11, I0.12 (configurable Analog).
  • M-Duino 42:  I0.7, I0.8, I0.9, I0.10, I0.11, I0.12, I1.7, I1.8, I1.9, I1.10, I1.11, I1.12  (configurable Analog).
  • M-Duino 58: I0.7, I0.8, I0.9, I0.10, I0.11, I0.12, I1.7, I1.8, I1.9, I1.10, I1.11, I1.12, I2.7, I2.8, I2.9, I2.10, I2.11 (NC), I2.12 (NC)  (configurable Analog).
  • M-Duino 19R: I0.2, I0.3, I0.4, I0.5 (configurable Analog).
  • M-Duino 38R: I0.2, I0.3, I0.4, I0.5 , I1.2, I1.3, I1.4, I1.5 (configurable Analog).
  • M-Duino 57R:  I0.2, I0.3, I0.4, I0.5 , I1.2, I1.3, I1.4, I1.5, I2.2, I2.3, I2.4, I2.5 (configurable Analog).

In this post we are going to learn how to read analog inputs. The example shows how to obtain the  value for analog input I0.1 (ardbox Analog)  and print it  on the serial monitor every 2 seconds.

int I01 = 12;
int value_I01;
void setup() {

  pinMode(I01, INPUT);
  Serial.begin(9600); 	// Set up serial communication. It will allow to monitor the analog input value.

void loop() {

  value_I01 = analogRead(I01);
  delay(2000); //wait 2 seconds

The values for the analog inputs (10 bits)  range is 0 – 1023 (see graph below).  If the value of sensor is (3V), the analogRead value is 3*1023/10 = 307.


In order to monitor the analog Input values the Serial Monitor is used.  It can be appreciated that the read value is a random number, this is because the input connector is floating since there is no sensor attached. To prove that we can ground I0.1 iput (connect it to GND)  and it should show a value close to zero.


The digital outputs pinout can be checked on the User Guides for each PLC. Otherwise,  Arduino IDE start files contain all I/O already declared and with the suitable pinMode defined. To reproduce the same code for the other outputs the pin number should be replaced by the corresponding Arduino pin matching the new Output.
i.e. (Ardbox Relay):

int I02 = 8;

void setup(){
pinMode(I02, INPUT);

Comments are closed.