Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Remote I/O ModBus RS485: Examples, Pinouts, and Specs

Image of Remote I/O ModBus RS485
Cirkit Designer LogoDesign with Remote I/O ModBus RS485 in Cirkit Designer

Introduction

The MA01-AACX2220 RS485 2DI+2AI+2DO Modbus RTU I/O Data Acquisition module by EBYTE is a versatile and robust electronic component designed for industrial automation and control systems. It allows for the remote monitoring and control of various inputs and outputs over a Modbus RTU protocol, which is a widely used communication standard in the industry. This module is particularly useful in applications where long-distance communication is required, such as in distributed control systems, building automation, and smart grid applications.

Explore Projects Built with Remote I/O ModBus RS485

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
STM32 and Arduino UNO Based Dual RS485 Communication Interface
Image of STM to Arduino RS485: A project utilizing Remote I/O ModBus RS485 in a practical application
This circuit consists of two microcontrollers, an STM32F103C8T6 and an Arduino UNO, each interfaced with separate RS485 transceiver modules for serial communication. The STM32F103C8T6 controls the RE (Receiver Enable) and DE (Driver Enable) pins of one RS485 module to manage its operation, and communicates via the A9 and A10 pins for DI (Data Input) and RO (Receiver Output), respectively. The Arduino UNO is similarly connected to another RS485 module, with digital pins D2 and D3 interfacing with DI and RO, and D8 controlling both RE and DE. The RS485 modules are connected to each other through their A and B differential communication lines, enabling serial data exchange between the two microcontrollers over a robust and long-distance capable RS485 network.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Based RS-485 Communication System with Pushbutton Activation and LED Indicator
Image of tp: A project utilizing Remote I/O ModBus RS485 in a practical application
This circuit consists of two Arduino UNO microcontrollers interfaced with RS-485 modules to enable serial communication over a differential bus, allowing for robust long-distance data transmission. One Arduino is configured as a master, sending a message when a pushbutton is pressed, while the other Arduino is set up as a slave, responding by lighting up an LED when the correct message is received. The system is powered by two separate 9V batteries, and a resistor is used to limit the current through the LED.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32C3 and RS485-Based Smart Modbus Energy Monitor with Wi-Fi Connectivity
Image of Modbus: A project utilizing Remote I/O ModBus RS485 in a practical application
This circuit integrates an ESP32C3 microcontroller with an RS485 transceiver to enable Modbus communication. The ESP32C3 handles data transmission and reception via GPIO pins, while the RS485 transceiver facilitates the physical layer communication over a differential bus. The setup is configured for monitoring and controlling a charging station, with various sensors and control parameters managed through the ESPHome framework.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO and Relay-Controlled RS485 Communication System
Image of Diagrama: A project utilizing Remote I/O ModBus RS485 in a practical application
This circuit features an Arduino UNO microcontroller interfaced with a 4-channel relay module and a UART TTL to RS485 converter. The Arduino controls the relays via digital pins and communicates with the RS485 converter for serial communication, enabling control of external devices and communication over long distances.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Remote I/O ModBus RS485

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of STM to Arduino RS485: A project utilizing Remote I/O ModBus RS485 in a practical application
STM32 and Arduino UNO Based Dual RS485 Communication Interface
This circuit consists of two microcontrollers, an STM32F103C8T6 and an Arduino UNO, each interfaced with separate RS485 transceiver modules for serial communication. The STM32F103C8T6 controls the RE (Receiver Enable) and DE (Driver Enable) pins of one RS485 module to manage its operation, and communicates via the A9 and A10 pins for DI (Data Input) and RO (Receiver Output), respectively. The Arduino UNO is similarly connected to another RS485 module, with digital pins D2 and D3 interfacing with DI and RO, and D8 controlling both RE and DE. The RS485 modules are connected to each other through their A and B differential communication lines, enabling serial data exchange between the two microcontrollers over a robust and long-distance capable RS485 network.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of tp: A project utilizing Remote I/O ModBus RS485 in a practical application
Arduino UNO Based RS-485 Communication System with Pushbutton Activation and LED Indicator
This circuit consists of two Arduino UNO microcontrollers interfaced with RS-485 modules to enable serial communication over a differential bus, allowing for robust long-distance data transmission. One Arduino is configured as a master, sending a message when a pushbutton is pressed, while the other Arduino is set up as a slave, responding by lighting up an LED when the correct message is received. The system is powered by two separate 9V batteries, and a resistor is used to limit the current through the LED.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Modbus: A project utilizing Remote I/O ModBus RS485 in a practical application
ESP32C3 and RS485-Based Smart Modbus Energy Monitor with Wi-Fi Connectivity
This circuit integrates an ESP32C3 microcontroller with an RS485 transceiver to enable Modbus communication. The ESP32C3 handles data transmission and reception via GPIO pins, while the RS485 transceiver facilitates the physical layer communication over a differential bus. The setup is configured for monitoring and controlling a charging station, with various sensors and control parameters managed through the ESPHome framework.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Diagrama: A project utilizing Remote I/O ModBus RS485 in a practical application
Arduino UNO and Relay-Controlled RS485 Communication System
This circuit features an Arduino UNO microcontroller interfaced with a 4-channel relay module and a UART TTL to RS485 converter. The Arduino controls the relays via digital pins and communicates with the RS485 converter for serial communication, enabling control of external devices and communication over long distances.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

General Specifications

  • Communication Protocol: Modbus RTU
  • Interface: RS485
  • Baud Rate: 9600/19200/38400/57600 bps (configurable)
  • Address Range: 1-247 (configurable)
  • Input Voltage: 9-36V DC
  • Operating Temperature: -40°C to 85°C

Pin Configuration and Descriptions

Pin Number Description Type
1 DI1 Digital Input
2 DI2 Digital Input
3 AI1 Analog Input
4 AI2 Analog Input
5 DO1 Digital Output
6 DO2 Digital Output
7 GND Ground
8 A+ RS485 A+
9 B- RS485 B-
10 Vcc Power Supply

Electrical Specifications

  • Digital Inputs (DI):
    • Voltage Level: 0-30V DC
    • Isolation: Photocoupler isolation
  • Analog Inputs (AI):
    • Input Range: 0-10V DC or 4-20mA (configurable)
    • Resolution: 12-bit
  • Digital Outputs (DO):
    • Output Type: Relay
    • Contact Rating: 5A @ 250V AC / 30V DC

Usage Instructions

Wiring the Module

  1. Connect the power supply to the Vcc (Pin 10) and GND (Pin 7).
  2. Connect the RS485 A+ (Pin 8) and B- (Pin 9) to the corresponding RS485 network lines.
  3. Wire the digital and analog inputs to their respective pins, ensuring correct voltage levels.
  4. Connect the digital outputs to the devices you wish to control.

Configuring the Module

  1. Set the module's address and baud rate using DIP switches or software configuration tools provided by EBYTE.
  2. Ensure that the module's settings match the Modbus master's configuration.

Interfacing with an Arduino UNO

To interface the MA01-AACX2220 with an Arduino UNO, you can use a MAX485 module or similar to convert the Arduino's UART signals to RS485.

#include <ModbusMaster.h>

// Instantiate ModbusMaster object
ModbusMaster node;

void setup() {
  // Initialize Modbus communication on Serial1
  node.begin(1, Serial1); // 1 is the Modbus address
  Serial1.begin(9600); // Match the baud rate set on the module

  // Set the transmission control pin
  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);
}

void preTransmission() {
  // Enable RS485 transmission mode
}

void postTransmission() {
  // Disable RS485 transmission mode
}

void loop() {
  // Example: Read from input register
  uint8_t result = node.readInputRegisters(0x0000, 4);
  if (result == node.ku8MBSuccess) {
    // Process data
  }

  // Example: Write to output coil
  node.writeSingleCoil(0x0000, HIGH);

  // Add delay between transactions
  delay(1000);
}

Note: The preTransmission and postTransmission functions should control the DE and RE pins of the RS485 transceiver to switch between transmission and reception modes.

Troubleshooting and FAQs

Common Issues

  • Communication Failure: Ensure that the wiring is correct, the baud rate and address settings match, and the network termination resistors are in place if needed.
  • Incorrect Readings: Verify that the input signals are within the specified range and that the module is properly configured for the type of input (voltage or current).
  • Output Not Triggering: Check the output wiring and ensure that the control commands are correct.

FAQs

Q: Can the module be used in a multi-drop network? A: Yes, the RS485 interface allows for multiple devices to be connected in a daisy-chain configuration.

Q: How do I change the input type from voltage to current? A: The input type can be configured using DIP switches or the configuration software provided by EBYTE.

Q: What is the maximum distance for RS485 communication? A: RS485 can communicate over distances up to 1200 meters, but this can vary based on cable quality and network configuration.

For further assistance, consult the EBYTE technical support or the detailed user manual provided with the module.