Arduino communicating with linear scale via RS485

I am attempting to use an Arduino Mega 2560 to communicate with a Mitutoyo Absolute Linear Scale AT715. Eventually I’d like to use a small LED display as a Digital Read Out, but I am currently having difficulty receiving anything from the scale.

I have found some information regarding the Pin Out of the DA 15 connector that it uses:

1 and 2: Signal ground or negative
3 and 4: +5vdc
10: Data
11: “not” Data (should have a line over the characters)
15: frame ground

I believe that it transfers data through one wire and needs an RS-485 receiver.

For transferring, I’m using a Max485 Chip RS-485 Module TTL to RS-485 Module (shown in diagram) with link to component below.

I attached some photos of what I currently have wired up and some more specs of the linear scale I found online.

I have 5v from the Arduino running to Pin 3 and 4 of the DA-15 connector as well as the RS-485 VCC
The ground is connected to Pin 1 and 2 of the DA-15 connector as well as the RS-485 ground
Pins 10 and 11 of the DA-15 connector are running to pins B and A of the RS-485 module.
DI on the RS-485 module goes to digital pin 26, DE goes to digital pin 24, RO goes to digital pin 25, and RE and DE are connected together.

Here is my current code:

#include "Arduino.h" 
 // Library to allow a Serial port on arbitrary pins 
 #include <SoftwareSerial.h> 
 // These are the pins we'll be talking to the RS485 device on 
 #define RS485rx    25 // RS485 Receive pin 
 #define RS485Tx   26 // RS485 Transmit pin 
 #define RS485inout  24 // RS485 Transmit or Receive status 
 #define RS485Transmit  HIGH 
 #define RS485Receive LOW 
 #define ledPin     13 
 #define baudRate   19200
 // Define the RS485 object 
 SoftwareSerial RS485(RS485rx, RS485Tx); 
 // The data bytes we're sending or receiving 
 byte rxValue; 
 byte txValue; 

 void setup() 
  // Debugging window 
  // Set modes for pins 
  pinMode(ledPin, OUTPUT); 
  pinMode(RS485inout, OUTPUT); 
  // Ensure the on-board LED is off 
  digitalWrite(ledPin, HIGH); 
  // Set RS485 device to read initially 
  digitalWrite(RS485inout, RS485Receive); 

 void loop() 

    txValue = 0; 
    // Set the RS485 to transmit mode and send the value 
    digitalWrite(RS485inout, RS485Transmit); 
    // small delay to allow transmission to complete 
    // Switch RS485 to receive mode 
    digitalWrite(RS485inout, RS485Receive); 
    // After each character is sent look for a received answer 
    if (RS485.available()) 
      // LED flicker 
      digitalWrite(ledPin, HIGH); 
      // Read the incoming byte 
      rxValue =; 
      // Display it on the Serial Monitor as a char (not an integer value) 
      Serial.print("Got back:"); 
      // Turn off LED 
      digitalWrite(ledPin, LOW);  // Show activity 
    // Debugging delay so we can follow activity 

The spec sheet that I have read says that I need to send it a hexadecimal value 0x00, in order for it to send its absolute position back.

According the Scale Interface pamphlet (linked below) I should be communicating with hexadecimals. With this code, the Arduino is transmitting the hexadecimal 0x00 (the code for absolute position) and displaying a 0 as being sent (per the code), however it is not receiving anything back. If I comment out the If statement it will display 255 as being received when printed.
I believe I should be receiving a data package within 15 milliseconds consisting of 6 bytes, one byte echoing the command code (in this case 0x00), followed by 4 bytes that make up the absolute position data, followed by a crc byte.
Hitherto I have not been able to receive anything from the scale.

Pic 2.

I guess you found this - it looks simple enough to get something out of it It appears that it will transmit when moved. If it's not doing that, then there is something internally wrong with it. If you've not got a scope, then if you put a multimeter accross its terinals, you may be able to determins some 'flicker'. In that link, the drotechguy is offereing to help (and he was there in 2017), maybe worth a while dropping him an email.