Please Help! - Problem with Reed endswitches

Dear Odrive developers!

I would like to contact you urgently and ask for essential support in solving a Proplem with the endstops!!!

As you surely know, I have been working on the realization of a 6DOF Motion platform for about 1 year. After many problems with the Odrive I finally got a prototype actuator working. Based on this prototype, I have now built 6 actuators and have been commissioning them for 2 weeks.
But now I have the following new problems, which I don’t get fixed despite 4 long evenings/nights of debugging and trying out all sorts of things:

  1. When I connect only one actuator to my Odrive, the limit switches work as planned: Homing - moving to middle position - limit switches are triggered when the end positions are reached. I tried the whole thing with NO and NC reed switches.
    The reed switches are connected to the Odrive as follows:


But when I now connect the second actuator and limit switches to the Odrive, the homing suddenly doesn’t work properly anymore. I.e. the homing position is not recognized by the second actuator that reaches the homing-position. Sometimes it works, sometimes it doesn’t.
If it works, the actuators move to the middle position. But if I trigger the limit switches manually, the Odrive doesn’t recognize the end positions anymore!

  1. Second problem: It happens regularly - i.e. every second start (Power off and on again) - that either only one actuator doesnt make the calibration sequence, or none at all. Again by chance.

To blame everything on EMC problems seems too easy, because one actuator runs reliably.

For me the whole thing is quite frustrating for several reasons. On the one hand because constantly new problems cost a lot of precious time and on the other hand that I strongly support the Odrive in the XSimulator forum and every problem that is just counterproductive to it.

Therefore I would kindly ask you to get an active support from the developers this time.
Thank you very much!


Translated with (free version)

What version of the software are you using?

Hi Wetmelon!
thanks for support!
Regarding the hardware and firmware version, Odrivetool says:

Connected to ODrive 385D37773437 as odrv0
In [1]: odrv0
vbus_voltage = 13.715624809265137 (float)
serial_number = 385D37773437 (int)
hw_version_major = 3 (int)
hw_version_minor = 5 (int)
hw_version_variant = 48 (int)
fw_version_major = 0 (int)
fw_version_minor = 0 (int)
fw_version_revision = 0 (int)
fw_version_unreleased = 1 (int)

This is an old Version from September 2018 (pls see post 6DOF motion platform using ODrive), but it was the one that was running with Zennix simulater and my actuator prototype.
Do you recommend a other Version?
Are my issues known at old firmware versions?

Kind regards

Ah, this is the Endstops branch from September 2018. Checking…

I didn’t remove the interrupt-based endstop handling until January 2019. This is likely your problem. I would upgrade to the latest version of the Endstops branch from May 25, 2019.

If that doesn’t work you’ll have to upgrade to RazorsEdge branch, but that comes with other issues.

I’ve also noticed that setting different homing_speed influences how reliably it homes. Check if it homes more reliably after you apply extra oil to you actuator.

Hello, Wetmelon,
great that you might have a solution! it’s really hard to have spent 5000,-€ and at the end to notice that the software still has bugs where you don’t know when and if they will finally be solved.
So me and also other self builders of simulators would appreciate it very much, if the software becomes more stable at this point. Can you possibly estimate when you will get there? - unfortunately my work has to stand still for so long…

I also heard that there are bigger problems with the RazorsEdge firmware. Honestly…I don’t feel like wasting another few weeks of my time with new bugs.

I hope very much for a solution
Thank you!

1 Like

Hello Riewert,
thanks a lot for your hints. I will try them as soon as the problem with the endstops is solved. Hope so much it will be soon!


The only software that we actually “guarantee” is the master branch. devel branch is considered Beta (should work but may have bugs) and everything else is alpha (Most features probably work but bugs are almost a certainty).

That being said, we are setting up test rigs for thoroughly testing RazorsEdge and cleaning it up for merge into master. I hope to finish testing by about the end of the year.

Wow, that sounds great!
Then the problems with the Endstops/Homing switches would finally be solved cleanly (and the spread of Odrive for design of flight and racing simulators can be promoted! ) Please stay tuned and keep us up to date!
Thank you very much!!

1 Like

If you can update to the newest Endstops branch version and verify that they work now, that will help me be more confident in my fix.


Hello, Wetmelon,
Today I flashed the new RazorsEdge firmware to do some first tests.
To get more reproducible results, I built a switchboard to simulate the limit switches. So effects like EMV interference or non-switching reed switches can be excluded.

The GPIOS are connected to 3.3V via 10kOhm resistors as shown in the picture (I also tried 5V, but no change). The ground lines are all connected together.

Here are the results of the first tests:

Problem 1:
During the calibration sequence after system start or reboot, one of the two actuators stops irregularly during calibration. The other one calibrates and moves to the home position. The actuators seem to run free and dont stick.

Problem 2 : In half of the tests, both actuators move to home position and go into closed loop.
If you trigger a limit switch manually now, only the first limit switch will work. Other ones on the second actuator remains without function.

Problem 3: During operation of both actuators with the program “LFS” and “mover-Interface” one of the actuators suddenly switches off.

Other things I don’t understand at the RazorsEdge:

a) Although I have reused the old parameters, the actuators only drive very slowly into the homing position.
Question: with which command can I increase the speed here?

b) One of the two actuators does not accept the vel_limit command and stays extremely slow.

Conclusion: It seems to me that the operation of 2 actuators at the same time causes massive problems…

What do you think I can try?

@wetmelon and all who have an idea
yesterday I flashed your new RaziorsEdge firmware and today I tested it intensively.
The new firmware doesn’t work any better than the old Endstop.firmware.
The same errors occur:

  1. Randomly one or more actuators stop during the start/calibration process. Which of the 4 connected actuators is also random.
  2. also random: one or more homing switches are not recognized by the odrives. I have measured the signal on the GPIOs, and they are correct (about 0.2V low and about 3.3V high).

Please help - any new ideas?

Hi @Wickie

  1. I’m not sure what endstops have to do with calibration? (i.e. initialising commutation) Hopefully you are not using the endstops to calibrate your motors for commutation? I would use an absolute encoder for commutation instead.
    Reason being, the endstops are not very precise, so they cannot be used to initialise the commutation.

  2. no idea, sorry. :confused:


Hi all,
thanks a lot for your hints.
Yesterday I decided to switch from RazorsEdge to the main branch firmware .

If the endstops are integrated in a released main branch I maybe will try to use the endstops again.

Wickie, are your running the calibrations at the same time? Then it could be related to insufficient power. Do the problems persist when you calibrate sequentially?

Hi Riewert
sorry for my late reply, but I But I was at work the whole day.
The last hour I did some quick tests due to your hints.
First I found that with the main branch firmware the startup is much more reliable, but still not perfect. But I managed to get all 6 actuators to closed loop control. The speed of the actuators was set extreme low for testing.
Then I set the vel_limit to 200000 and when I tryed to move the actuators, the odrives immediately made a reset. Aaaha… The error codes said the current is instabil …we are comming closer…
Then I removed two odrives (means 4 actuators) from my 1600W power source and increased the current lim from 10A to 30 A. Then I switched on again. The actuators were running for a while with a vel limit of 200000 but then the same. some kind of reset…BUT then the Odrive made automatically a new start. -No errors !! For me it seems like that the power supply switched off for a moment? Not sure…
So maybe you are right and the power source cant manage the high current oscillations although it is a high quality supply from MeanWell with 1600W. My experiance from my protoype said this would be enough.
This could also have been the problem with the RazorsEdge firmware…maybe.
I will make some more tests the next days and buy three Batteries to get a high current 36V power source.
This is gonna be very interesting.

1 Like