Serial Comm's garbled

Is anyone able to help, I am fairly new to Arudino programming and am trying to read the Serial output of a device with little luck.
I have been able to read it using a RS232 to USB dongle and PuTTY directly into my PC, with the default settings (9600,8,1,N)

When I attempt to connect the device to a Arduino MEGA (using the same settings), I am getting backwards question marks and other random characters.

I have tried these Examples.

But thought I would take it back to the very basic’s till I can get a reasonable output, so I removed all GPIO’s except the Rx,Tx and GND and used the following code:

void setup() {
  Serial.begin(9600);
  Serial.println("<Ready>");
}

void loop() {

  if (Serial.available()) {
    Serial.write(Serial.read());
    //delay(1000 * 13 / 960 + 1);
  }
}

I don’t have the circuit diagram at the time of posting but I know it is a TTL Serial and the device runs on 6V (4 x 1.5V AA)

Your image shows connection to pins 16 and 17. That should be Serial2 on the Mega.

9a94f34dee115f0c6d17299c2ba69fdace7182c9.jpg

Sorry yes I took the Picture when I had it set up as Serial2, but have since moved them to 0 and 1 to try and simplify the code a little more

I have also tried a pull up resistor just in case and still have no luck

Go back to using serial for comms with the computer and another serial port for comms with your device.

Do you have a ttl-to-rs232 converter between the Arduino and the device? From the fact that you mentioned a usb-to-rs232 dongle, the device uses rs242 levels and you will need a converter.