How communicate with a tractor using isobus ?

Hello everyone,

I am trying to establish communication with the ISOBUS on my tractor (PUMA Case IH 185 hp) using an Arduino Uno and an MCP2515 CAN module from AZ-Delivery.

I searched for details and information about isobus on my specific tractor but i found nothing...

Here's what I've done so far:

  1. Hardware Setup:
  • Arduino Uno
  • MCP2515 CAN module from AZ-Delivery
  • Properly connected CANH and CANL lines to the ISOBUS on the tractor
  • Ensured the module and Arduino are correctly powered
  1. Software:
   #include <CAN.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("CAN Receiver");

  // Start the CAN bus at 500 kbps
  if (!CAN.begin(500E3)) {
    Serial.println("Starting CAN failed!");
    while (1);
  }
}

void loop() {
  int packetSize = CAN.parsePacket();

  if (packetSize) {
    Serial.print("Received packet with id 0x");
    Serial.print(CAN.packetId(), HEX);
    Serial.print(", length ");
    Serial.print(packetSize);
    Serial.println();

    byte data[packetSize];

    // Read the data into the array
    for (int i = 0; i < packetSize; i++) {
      data[i] = CAN.read();
    }

    Serial.print("Data in HEX: ");
    for (int i = 0; i < packetSize; i++) {
      if (data[i] < 0x10) {
        Serial.print('0');  // Pad single hex digits with a leading zero
      }
      Serial.print(data[i], HEX);
      Serial.print(' ');
    }
    Serial.println();

    Serial.print("Data in DEC: ");
    for (int i = 0; i < packetSize; i++) {
      Serial.print(data[i]);
      Serial.print(' ');
    }
    Serial.println();

    Serial.print("Data as ASCII: ");
    for (int i = 0; i < packetSize; i++) {
      if (data[i] >= 32 && data[i] <= 126) {  // Printable ASCII range
        Serial.print((char)data[i]);
      } else {
        Serial.print('.');
      }
      Serial.print(' ');
    }
    Serial.println();
    Serial.println(); // Blank line between packets
  }
}

Despite my efforts, after connecting my device to the tractor, I receive no messages or responses at all—nothing appears on the serial monitor.

Could anyone provide some guidance or tips on what I might be missing? Are there any specific PGNs (Parameter Group Numbers) I should be filtering for, or any additional steps I need to take to successfully read data from the tractor's ISOBUS?

Thank you in advance for your help!

Best regards