lamaPLC: PTA8C04 4-channel PT100 Modbus Modul

PTA8C04 is a specific model of 4-Channel PT100 RTD Temperature Sensor Module that uses RS485 communication for industrial monitoring, enabling it to read temperatures from multiple PT100 resistance temperature detectors (RTDs) and transmit data via the Modbus RTU protocol for PLCs and other controllers, often mounted on DIN rails.

PTA8C04 4-channel PT100 Modbus ModulPTA8C04 4-channel PT100 Modbus ModulPTA8C04 4-channel PT100 Modbus Modul

PTA8C04 Description

  • Operating Temperature: -40 to 85°C
  • Working Voltage: DC 12V/24V
  • Working Current: 14-18 mA
  • Compatible Sensor: PT100 3-wire or 2-wire
  • PT100 Sensor Range: Version A -40℃ to +220℃, Version B -40℃ to +500℃
  • Temperature Measurement Accuracy: 1%
  • DIN Rail: PCB board width UM72 (72mm) for DIN35 / C45 rail

If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.

Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.

2026/02/14 22:38

PTA8C04 Probe wiring mode

PTA8C04 4-channel PT100 Modbus ModulPTA8C04 4-channel PT100 Modbus Modul
3-wire probe wiring mode: connect the red wire to P+, and the other two wires of the same color to P- and GND (the ports are not distinguished)2-wire probe wiring mode: connect the red wire to P+, the blue wire to P-, and G

PT100 / PT1000 sensors

Check the PT100 sensor RTDs (Resistance Temperature Detectors) are straightforward devices: simply a small strip of platinum that measures precisely 100 Ω or 1000 Ω at 0°C. Bonded to the PT100/PT1000 are two, three, or four wires.

Thus, the 4-wire RTD has two wires attached to each side of the sensor. Each wire has about 1Ω of resistance. When connected to the amplifier, the innovative amp measures the voltage across the RTD and across the wire pairs.

For example, the approximate resistances of a 4-wire PT100 RTD at 0 °C are as follows. (For a PT1000, the middle resistance would be about 1002Ω rather than 102Ω).

When the amp measures this sensor, it first assesses the resistance between one set of red and blue wires. It then measures the resistance between the red wires and the blue wires. To get the resistance of a single wire, divide each resistance value by two. The final calculation is 102 - 1 - 1 100Ω.These are very similar to the 4-wire type, but only have one 'pair' of connected wires. This is because the wires for the RTD are all the same gauge and length; therefore, instead of two pairs, the amplifier reads one pair and uses that resistance for both wires. It is as simple as it gets, with only one wire on each side. You might need to calibrate the sensor by placing it in an ice bath to measure the resistance at 0°C (around 102 Ω), then subtract 100 Ω to find the total resistance of the connection wires!

Connect the two ends of the PT100/PT1000 resistor to the RTD+ and RTD- terminals on the sensor module. For example, a resistance of 102 Ohms can be measured. In a 3-wire or 4-wire setup, the wire connections go to the F+ and F- terminals. These connections might differ from the resistance values of the respective sides by only a few Ohms, meaning the resistance between F+ and RTD+ or F- and RTD- may vary slightly, just a few Ohms.

PT100 IEC 751 Basic resistance values in Ohm PT100 sensors according to DIN/IEC 751

2025/12/10 17:50

PTA8C04 Modbus settings

Default settings: SlaveID: 1, 9600 baud, parity: N,8,1

holding register addressesNumber of registersDescriptionUnitNote
0 .. 34CH0 .. CH03 Temperature values0.1 °Cread-only, 182 → 18.2 °C
32 .. 354CH0 .. CH03 Resistance values0.1 Ωread-only, 1081 → 108.1 Ω
64 .. 674CH0 .. CH03 Temperature correction values0.1 °Cr/w; read 0xFFFF
96 .. 994CH0 .. CH03 Resistance correction values0.1 Ωr/w; read 0xFFFF
2501Automatic upload of temperatureSecond0: by query (default), 1..255 sec raster
2511Factory data reset-Feedback by reset: FF 06 00 FB 00 00 ED E5
2521Data return delayms0..1000
2531RS 485 Modbus RTU AddressRead: 0xFFFF, write 0..254
2541Baudrate0..8; 0: 1200, 1: 2400, 2: 4800, 3: 9600 (default), 4: 19200, 5: 38400, 6: 57600, 7: 115200, 8: Factory reset
2551Parity0: none (default), 1: even, 2: odd

Arduino

The PTA8C04 is a 4-channel PT100 RTD acquisition module that communicates via RS485 Modbus RTU, which is fundamentally different from the SPI-based MAX31865. To use it with an Arduino, you typically need an RS485 to TTL converter (like a MAX485 module) and a Modbus library.

Hardware Connections

Connect your Arduino to the PTA8C04 through an RS485 converter:

  • VCC/GND: 12V–24V DC to PTA8C04; 5V/GND to RS485 converter.
  • A/B Pins: Connect A to A and B to B between the PTA8C04 and the RS485 converter.
  • RO (Receive): Arduino Pin 2 (if using SoftwareSerial).
  • DI (Driver Input): Arduino Pin 3.
  • DE/RE (Enable): Arduino Pins 4 & 5 (tied together to control direction).

Arduino Example Code

This code uses the ModbusMaster library to read temperatures from the first two channels.

#include <ModbusMaster.h>
#include <SoftwareSerial.h>
 
#define MAX485_RE_DE 4  // Pins for RE and DE
SoftwareSerial rs485(2, 3); // RX, TX
 
ModbusMaster node;
 
void preTransmission() { digitalWrite(MAX485_RE_DE, 1); }
void postTransmission() { digitalWrite(MAX485_RE_DE, 0); }
 
void setup() {
  pinMode(MAX485_RE_DE, OUTPUT);
  digitalWrite(MAX485_RE_DE, 0); // Start in receive mode
 
  Serial.begin(9600);
  rs485.begin(9600); // PTA8C04 default baud is 9600
 
  node.begin(1, rs485); // Default slave ID is 1
  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);
}
 
void loop() {
  // Read 4 registers starting at 0x0000 (Channels 1-4)
  uint8_t result = node.readHoldingRegisters(0x0000, 4);
 
  if (result == node.ku8MBSuccess) {
    for (int i = 0; i < 4; i++) {
      int16_t rawTemp = node.getResponseBuffer(i);
      // PTA8C04 provides temperature x10. Divide by 10.0 for Celsius
      float celsius = rawTemp / 10.0;
      Serial.print("CH"); Serial.print(i+1);
      Serial.print(": "); Serial.print(celsius); Serial.println(" C");
    }
  } else {
    Serial.print("Modbus Error: "); Serial.println(result, HEX);
  }
  delay(2000);
}

Modbus topics on lamaPLC

PageDateTags
2023/05/26 15:15, , , ,
2024/11/18 21:46, , , , , , ,
2024/11/18 21:55, , , , , , ,
2025/11/19 21:42, , , , , , , , ,
2026/02/14 17:25, , , , , , , ,
2025/03/07 09:20, , , ,
2026/02/14 23:34, , , , , , , ,
2024/08/18 14:48, , , ,
2026/02/14 23:22, , , , , , , ,
2026/02/14 17:42, , , , , , ,
2024/11/18 17:55, , , , , , , ,
2023/06/24 22:42, , , , , , , , , ,
2023/06/19 21:24, , , , , , , , , , , , ,
2026/02/14 17:26, , , , , , , , ,
2026/02/14 22:49, , , , ,
2023/06/24 22:43, , , , , ,
2024/08/18 14:52, , , , , , ,
2026/02/14 23:00, , , , , , , , ,
2023/06/01 11:49, , ,
2026/02/14 17:49, , , , , ,
2025/11/13 22:59, , , , , , , , , , , , , , , ,
2023/06/17 19:43, , , , ,
2023/06/01 11:45, , , , , , ,




This page has been accessed for: Today: 2, Until now: 37