Calibration Sequence does not complete, Encoder Error: 0x04


We’re having issues with a new ODrive 3.5 board, specifically during the calibration sequence.

  • When AXIS_STATE_FULL_CALIBRATION_SEQUENCE is run, the motor spins in one direction and then stops — it doesn’t spin in the opposite direction and complete the sequence.
  • The only error received is an encoder error: 0x04, which from the Troubleshooting section suggests a connection issue.
  • Another 3.5 board is on hand, and when that board is switched into the exact same experimental set-up, everything works perfectly. The odrive configurations between the two 3.5 boards have been checked and they are identical. This appears to rule out a faulty connection issue.
  • To further rule out an encoder hardware issue, two 3.4 boards are also on hand, and can be switched into the identical experimental set-up without issue, although in this case there are some minor compatibility changes to make in the odrive configurations so everything works smoothly.

The underlying thread through all of this, is that the same motor, encoder, and wires are being used throughout, only the board is changing. With the troublesome 3.5 board, we’ve tried re-flashing the firmware several times to no avail.

Are there any other suggestions/ideas for diagnostic procedures?

Thanks for your help.

It looks like you have taken really good care to isolate the problem, and I agree it seems to be a hardware issue with that particular board. Can you check for any solder defects along the encoder lines? Especially around the pins of the microcontroller.

If you can’t find an issue, or can’t fix it, I’m happy to send you a replacement.

Thanks for the suggestion.

We thought there might be something going on in this area… early on we checked our soldering connections along the J4 strip, to make sure no blobs were overlapping and giving us a possible short or other error. We’ve verified that all the blobs are separate, and that all connections through J4 are sound, so all good there.

Now, re: your suggestion about checking the encoder lines to the micro controller – we think we might’ve found the issue. In your image above, the encoder line from B of the M0 segment of J4 does not carry a signal through to the corresponding pin of the micro controller. All other lines are fine.

Could this be the problem?

You can check to see if the corresponding pin on the MCU is lifted and not making solder contact. Otherwise you can inspect the copper trace for an obvious scratch that may have cut it.
If that still doesn’t yield results, you can solder on a (thin) wire from the MCU pin to the J4 pin.

Let me know if you have issues with the above.

Hi again.

Unfortunately we’re back to the start - some subsequent tests have been done and there isn’t a problem with any encoder lines after all, the connections are good. The micro controller pins are all making contact and there are no scratches on the copper traces.

We don’t think we can do anything further on our side, could we request a replacement? We will email you about the details.