Microscope extensions - staging - endstops


I’ve had issues with breaking actuators of the main body while pushing the microscope into extreme x and y positions (probably due to poor PLA). This made me think of movement restrictions. I have not yet been able to get it to work, but I assume @filip.ayaziEndstops” extension is what i am looking for (“setting max position”). Unfortunatly my poor python and computer skills have not been able to get the extension to run properly.

I am using the latest full desktop SD-img release (2023-04-13) with no modifications.

My main source for info has been the introduction to “developing extensions”. I hope I haven’t overlooked any other resource for installing extensions?

I copied the folder “endstops” into /var/openflexure/extensions/microscope_extensions/. In OpenFlexure Connect I get an “Endstops” icon on the left (screenshot below).

But when I go there it is just stream view, with no options, which I assume is not how it should be. I did not edit any of the files in the extension or the files already in /var/openflexure/extensions/microscope_extensions/. I thought it might have to do with the _init_.py file, so I tried to edit that in different ways but with success.

Is there anyone using the Endstops extension that might know what I am doing wrong? Should I edit some files or is everything as should, and I just can’t find the endstops extension settings?



Hi Per,
sorry about the delay. The endstop extension was designed for a version of the microscope with microswitches installed in the feet, so it requires additional hardware to work. It appears support for feet endstops was removed in Remove endstop code (4c4dbb7d) · Commits · OpenFlexure / openflexure-microscope · GitLab so it might be trickier to install.
Support is also disabled in the default firmware version, so it requires flashing modified firmware (configuring to how you would want to wire the endstops).

The original endstops option used tiny microswitches which fit directly into the body of the foot (D2LS-21)

I found this alternative on printables Printables which should work with the more common larger endstops. They would need to be wired to some of the spare pins on the Sangaboard (on the header on the right), with the firmware configured to use them from these pins (#define WIRING_ENDSTOPS_MIN {26,27,28} in boards.h). Normally this worked as hardware endstop on one side and software endstop on the other, with the software endstop position configurable.

1 Like

Dear Filip,

thanks a lot for your answer and taking your time to explain the details. I will have a closer look at the printables alternative.


1 Like