ODrive Micro not detecting EM-2 incremental encoder without index

We are connecting an ODrive Micro to a US Digital EM-2 5000 CPR incremental encoder and T-motor RI50 motor, and experiencing two problems:

  1. The “Apply & Calibrate” GUI screen seems to have a bug where Calibrate (step 4) isn’t active after clicking “Save & Reboot” (step 3). If we click “Apply” again (step 2), then the “Run Calibration Sequence” button becomes active again, and we can calibrate.

  2. Running calibration moves the motor, but it fails to detect the encoder. The motor moves around 180° to do the calibration, but the encoder calibration fails with “NO_RESPONSE”.

Problem #2 is the main issue.

Note: our index pulse is irregular (probably due to misalignment in the test rig), so we would like to calibrate the encoder without the index.

I’ve attached some photos of our setup and debugging. Troubleshooting we have done so far:

  • We have tried different settings for the encoder: CPR 20000 and 5000, index disabled and enabled. All fail with the NO_RESPONSE status.
  • We have updated to the latest firmware, and tried the same process via odrivetool as well as the GUI. Same failure.
  • We have measured the 5V and GND pins on the encoder side, and confirmed a voltage of 4.6V.
  • We have scoped the A and B signals from the encoder, and confirmed that we see the quadrature signal when the motor is moving during calibration.

So questions:

  • Can the ODrive Micro calibrate with an incremental encoder without an index signal?
  • Is the pinout on the ODrive Micro datasheet page correct? We have triple-checked the wiring and definitely have the right pins connected per the datasheet (pins 3-7).
  • Any other suggestions on what to try?

We would really like to use the ODrive Micro for this project, but this issue is a complete blocker for us right now.

Thanks,
Matt

ODrive Micro showing connections:

I can only include one image per post, so here is the encoder A scope.

This was measured on the ODrive Micro connector, on pin 4. Pin B measured on pin 5 looks basically the same, so I won’t upload that one.

Hi there! Apologies for the issues here - there’s definitely still a few bugs we’re working out with the engineering samples :slight_smile: we just had a report of a similar issue – I’m looking into this and will get back to you!

Here’s an updated firmware file that may help this issue. You can flash it using odrivetool dfu ODriveFirmware-MicroES-incfix.elf.

Please let me know how this goes!

Thanks Solomon. We tried updating to this firmware, and still get NO_RESPONSE when calibrating the encoder.

Any other ideas?

Hm, interesting. Could you please email solomon.greenberg@odriverobotics.com so we can set up a call?

Just wanted to update this thread and confirm that there was an issue with incremental encoders with the firmware, and we got it working with a firmware update from the devel channel:

odrivetool dfu --channel devel

Thanks to Solomon and team for the support!