N4DAC02: 2-Channel Analog Voltage Output Module with RS485 Modbus RTU
Share
N4DAC02 is a two-channel voltage output module with RS485 and Modbus RTU communication. Its two outputs provide 0–5 V and 0–10 V ranges, respectively. The GitHub project cheap_modbus_rtu explicitly lists the N4DAC02 as supported hardware.
N4DAC02 is a compact two-channel digital-to-analog conversion (DAC) module designed to generate adjustable analog voltage signals through an RS485 serial interface.
Supporting Modbus RTU communication, the N4DAC02 allows PLCs, computers, industrial controllers, and embedded systems to set voltage output levels through serial commands. It provides a convenient way to convert digital control instructions into analog voltage signals for compatible equipment.
The module features two independent voltage output channels:
-
Channel 1: 0–5 V output
-
Channel 2: 0–10 V output
With a compact PCB design, low operating current, and support for Modbus RTU function codes 03 and 06, the N4DAC02 is suitable for small automation projects, analog signal generation, equipment control, and remote voltage adjustment.
According to Eletechsup's published specifications, the module uses a PWM-based digital-to-analog conversion solution with feedback measurement and calibration capability. It is designed as a cost-effective alternative for applications that do not require the performance of a precision industrial DAC.
2. Key Features
-
Two independent analog voltage outputs: Generate separate control signals for two devices or channels.
-
0–5 V output: Channel 1 supports a nominal output range of 0–5 V.
-
0–10 V output: Channel 2 supports a nominal output range of 0–10 V.
-
RS485 interface: Supports serial communication for distributed control systems.
-
Modbus RTU protocol: Enables integration with compatible PLCs, industrial controllers, and PC software.
-
0.01 V voltage resolution: Provides fine output adjustment in 10 mV increments.
-
Approximately 1% output accuracy: Manufacturer-stated accuracy within the specified operating range.
-
Calibration capability: Output calibration can help correct errors in supported operating conditions.
-
Low power consumption: Approximately 12–13 mA operating current, according to the product listing.
-
Compact construction: Approximately 45 × 35 × 15 mm.
-
Multi-device communication: The manufacturer specifies support for up to 247 devices in Modbus command mode, subject to addressing and network conditions.
3. Technical Specifications
| Parameter | Specification |
|---|---|
| Model | N4DAC02 |
| Module type | 2-channel DAC / analog voltage output |
| Channel 1 output | 0–5 V |
| Channel 2 output | 0–10 V |
| Maximum output current | 20 mA per channel, manufacturer-stated |
| Voltage resolution | 0.01 V |
| Output accuracy | Approximately 1% within specified ranges |
| Operating voltage | DC 12–25 V |
| Operating current | Approximately 12–13 mA |
| Communication interface | RS485 |
| Communication protocol | Modbus RTU |
| Supported function codes | 03 and 06 |
| Conversion method | PWM-based DAC solution with feedback measurement |
| Dimensions | Approximately 45 × 35 × 15 mm |
| Weight | Approximately 10 g |
Important performance considerations: The manufacturer specifies approximately 1% accuracy in the 1–5 V range on Channel 1 and the 2–10 V range on Channel 2. Lower output voltages may exhibit greater ripple. The published listing reports approximately 50 Hz ripple of 40 mV below 1 V on Channel 1 and 80 mV below 2 V on Channel 2. It also reports minimum practical output voltages of approximately 0.05 V and 0.1 V, respectively, and a brief high pulse of 10–20 ms during power-on.
These characteristics should be considered when selecting the module for sensitive control applications.
4. How the N4DAC02 Works
The N4DAC02 receives digital commands from a Modbus RTU master through its RS485 interface. It then adjusts its two analog output voltages according to the requested values and the module's supported configuration.
A typical system consists of:
-
A PLC, computer, or embedded controller acting as the Modbus master.
-
An RS485 communication connection.
-
The Eletechsup N4DAC02 module.
-
One or two devices that accept compatible analog voltage control signals.
For example, a controller can use Channel 1 to generate an adjustable 0–5 V signal and Channel 2 to generate a separate 0–10 V signal. These outputs may be connected to compatible equipment such as voltage-controlled instruments, signal inputs, or industrial control interfaces.
The host controller can change the output settings remotely without requiring a separate physical potentiometer for each channel.
The actual output values depend on the module's register mapping, calibration, power supply, load, and electrical characteristics.
5. GitHub Integration: Python and Modbus RTU
The GitHub repository ul-gh/cheap_modbus_rtu explicitly lists the Eletechsup N4DAC02 among its supported hardware.
The project provides a lightweight Python-based approach to controlling inexpensive Modbus RTU modules. This gives developers a starting point for building custom applications around the N4DAC02 instead of implementing every communication layer from scratch.
GitHub repository: https://github.com/ul-gh/cheap_modbus_rtu
Installation
The repository documents Python 3.9 or later and provides the following installation workflow:
python -m pip install --upgrade pip
git clone https://github.com/ul-gh/cheap_modbus_rtu.git
cd cheap_modbus_rtu
pip install .
Check the repository's current documentation for the exact N4DAC02 API and supported operations before writing application code.
Typical Software Workflow
A Python-based control application generally follows these steps:
-
Open the serial port connected to an RS485 adapter.
-
Configure the baud rate, parity, stop bits, and Modbus slave address.
-
Send the appropriate Modbus command to set the required output.
-
Read back the relevant register if the module supports the required feedback operation.
-
Verify the actual output voltage using a multimeter or suitable measurement instrument.
The manufacturer documents Modbus RTU function codes 03 and 06. However, the correct register addresses, scaling, and command format must be taken from the N4DAC02 protocol documentation.
The following is a generic PyModbus example illustrating how a host might write a register. It is not a verified N4DAC02 register command:
from pymodbus.client import ModbusSerialClient
client = ModbusSerialClient(
port="/dev/ttyUSB0",
baudrate=9600,
parity="N",
stopbits=1,
bytesize=8,
timeout=1
)
if client.connect():
# Replace the address and value with
# those specified in the N4DAC02 manual.
response = client.write_register(
address=0,
value=500,
device_id=1
)
if response.isError():
print("Modbus write failed")
else:
print("Modbus write completed")
client.close()
In a real application, the register value corresponding to a requested voltage must be determined from the manufacturer's documentation. For example, a 5 V command cannot safely be assumed to correspond to a register value of 500 without confirming the scaling rule.
The serial settings shown above are illustrative and should be verified against the module's current configuration.
6. Practical Applications
Industrial Automation and PLC Control
Many industrial controllers use analog voltage signals to command compatible equipment. The N4DAC02 can provide adjustable 0–5 V and 0–10 V outputs for applications where those signal ranges are supported.
Potential uses include reference voltage generation, analog setpoint adjustment, and interface development for control systems.
Voltage-Controlled Equipment
Some electronic instruments and industrial devices accept voltage inputs to set operating parameters. The N4DAC02 can generate adjustable voltage signals for such equipment, provided the input requirements and electrical characteristics are compatible.
Remote Analog Signal Generation
In distributed automation systems, RS485 allows the host controller to communicate with remote modules over a serial bus. The N4DAC02 can therefore be used where analog output settings need to be adjusted from a central computer or controller.
Embedded Systems and Custom Test Equipment
Developers can integrate the module into test fixtures, laboratory prototypes, and embedded control applications. Modbus RTU support allows a compatible host to change output levels through software.
For precision measurement equipment or sensitive analog circuits, output ripple, calibration, and startup behavior should be evaluated before deployment.
Smart Home and Building Automation
The N4DAC02 may be useful in custom automation projects that require a compatible 0–5 V or 0–10 V control signal. It should not be assumed to directly support every lighting dimmer, motor controller, or HVAC input; compatibility must be confirmed for the target device.
7. Advantages and Limitations
Advantages
-
Two independent voltage output channels.
-
Different output ranges on one compact board.
-
RS485 communication for remote control.
-
Modbus RTU compatibility with suitable host software.
-
Python integration possibilities through a documented GitHub project.
-
Low-cost solution for general-purpose analog voltage generation.
Limitations
-
The PWM-based conversion approach is not equivalent to a high-performance precision DAC.
-
Ripple can be significant at low output voltages.
-
Minimum practical output voltage is not exactly zero.
-
A brief output pulse occurs during power-on.
-
Output accuracy and stability should be tested against the requirements of the target application.
-
The module should not be selected for safety-critical control or precision analog applications without appropriate validation.
8. Why Choose Eletechsup N4DAC02?
The Eletechsup N4DAC02 offers an economical way to add two software-controlled analog voltage outputs to a compatible control system.
Its main advantages are the combination of 0–5 V and 0–10 V outputs, RS485 connectivity, Modbus RTU support, and a compact PCB format. The availability of a public GitHub software project also gives developers a useful starting point for Python integration.
For OEM developers, equipment manufacturers, and automation engineers, the module can simplify prototyping and low-cost analog output control when its performance characteristics match the application requirements.
Before purchasing, confirm the output ranges, maximum load current, register definitions, calibration procedure, startup behavior, and ripple requirements.
Conclusion
The Eletechsup N4DAC02 is a compact two-channel analog voltage output module designed for Modbus RTU-based automation and embedded control applications.
With one 0–5 V channel and one 0–10 V channel, it provides a practical solution for generating adjustable analog signals through RS485 commands. Its documented inclusion in the cheap_modbus_rtu GitHub project offers a useful starting point for developers building Python-based control applications.
For general-purpose analog signal generation, low-cost automation, and prototyping, the N4DAC02 offers a simple interface between digital commands and analog voltage outputs. Applications requiring very low ripple, precise zero output, or a clean startup waveform should carefully evaluate the published limitations before deployment.
Official product information: Eletechsup N4DAC02
Manufacturer FAQ: N4DAC02 FAQ
GitHub software reference: ul-gh/cheap_modbus_rtu