Which configuration for dark field blood imaging? 0.6 nozzle and PETG possible?

Hello William,

the objective lens i did order from Ebay did arrive but i forgot to order the ThorLabs AC127-050-A or comparable. Anyway, i started drying my filament(s) and did do the test print. Looks ok but i dont understand how the flex must work on this part? Its only the topmost part which should flex or the whole testprint?

Regarding the extra flex on the lense gripper i will print this part with a PETG/Carbon mixture. Should make it more stiff. Alternativley one could use a different infill pattern and / or more infill? Then, are the stls available without the custom brim as it might not be needed with some of the parts when using PETG?

Question: Should i start documenting my build here or open a new thread?



Hello Nico,

i would like to regulary (once per month) check the blood of friends and family for

  • Parasites
  • Fungus
  • Indications of Metals
  • Graphene-Oxide Flakes
  • General shape of blood cells



For theleg_test.stl the main point is that it should print without the top part failing to bridge over between the two vertical legs. If that works it is representative of the parts of the main body. If you want to look at the flexing mechanism, the leg_test.stl has two stiff vertical legs and two stiff horizontal bars in a rectangle. The top and bottom bars are connected to the vertical legs by thin sections. These are the flexure hinges and they allow the corners of the vertical rectangle to flex so that the rectangle becomes a parallelogram, which has the effect of a sideways movement of the top horizontal bar relative to the bottom one without any rotation.

My comment about the lens grippers is not really indicating a problem with stiffness. I was just playing with it too much because it was flexible and fun, and then it broke. It should be fine if just used as intended as a lens gripper, indeed I think it is probably better a little more flexible than PLA.


the top piece of the leg-test flexes but the verticals legs close to zero… So the next Test-Print would be the upright z-actuator, correct? And shlould i use the upright version or the regular, high resolution version (v7.0.0-beta1) for the final print?

Regarding PETG adhesion to the printbed: I am using the standard smooth, magnetic steel sheet. If adhesion becomes too strong i just swipe my fingers over the print area. Works like a charm.


Here is the testprint of the z-actuator of the upright version printed with 0.6mm nozzle using 0.2mm layer height and PETG filament. The printer shows some underextrusion and i had a blob of the last used carbon enhanced filament coming out mitprint. I probably have to change parameters for overhangs somewhat like more cooling.

Its not one of my best prints but it seems functional. What should i exactly check / measure?

1 Like

That looks fine. The only issue with slightly untidy prints is the dovetail on the front of the z-axis that mates with the optics module. If it is rough it does not fit as well. However you don’t need the module to slide after it is fitted so it will be OK.

When you get to print, go with the version of the microscope that you wanted, the high resolution version. The web site build link to v7.0.0beta1 is now a little behind developments. Unfortunately there is not a ‘nightly build’ link for the current latest version. It is probably useful to look at the threads on motor controllers for the new versions of the microscope stand and electronics drawer, particularly if you are planning to use Sangaboard v0.3 or v0.5 which do not fit properly in the v7.0.0beta2 release of the stand.

Sangaboard v0.5 now available - General - OpenFlexure Forum
How do I connect Arduino to stepper motors and get code - Request Help - OpenFlexure Forum

A version of the documentation with recent improvements in the parts and instructions up to July is currently at https://openflexure.gitlab.io/-/openflexure-microscope/-/jobs/4729744562/artifacts/builds/index.html This is not a stable link, it will go if we make any changes to that draft version. It has also not gone through the checks that we would do for a release so there may be unknown issues. For the high resolution version the only important changes I think are in the stand, and if you are using the 5mm LED work-around there are changes in the illumination module There are some changes in the instructions that should make them clearer.

1 Like

One more question: With a 0.6 nozzle the brim doesnt touch the model. This should be fixable by experimenting with slightly higher “Slice gap closing radius” settings?

The slice gap closing radius on Prusa Slicer sets whether the two parts are considered as separate or whether the gap is ignored and the parts are joined up. It will not change the nature of a gap. I have noticed that more recent sliced parts on my Prusa have more aggressive settings for avoiding elephant’s foot’ on the first layer. Even for a part with straight vertical sides the first layer in the slicer is noticeably smaller. Those settings will be somewhere else in the slicer. However with the excellent adhesion of PETG a brim is not really required, so I would just print it as it is.

Yes, with PETG its not necessary and i did just successfully print the V7 Beta1 main body using Prusament PLA which i did store for a special print. And OpenFlexure is a special print. Even the PLA didnt need the brim.

I can report back that the main body is printable with a 0.6 nozzle which speeds up the print approx by 30%. The main body seems fully functional to me. I assume all other parts should be printable too with a 0.6 nozzle too.

And, Willam, this is a genious design… thank you very much.

1 Like

Seems like parts which have small/tight threads like the one for the main lense dont print correctly with an 0.6 nozzle. Normally i dont have problems printing threads as long as i use a layer height of max 0.2mm but for the thread of the lense it doesnt seem to be enough. Better use a 0.4mm or smaller for printing lense threads.

Everything else seem to work with an 0.6mm nozzle using 0.2mm layer height. I used 0.3mm layer height for the base.

// Arnd

1 Like

Hello everyone,

i did just assemble and tested the electronics (raspberry PI 4 with sangaboard V0.5.3) and have a minor problem. Using the 7Beta-1 stls i cant find a matching drawer for above electronics combination using the the stand stand-7-beta-1-new-sanga-board.stl

It looks assembled like this, the fixation screw hole doesnt match the stands screwhole:

And the height of the fixation sockets for the sanga board are too low.

Its a minor issue as all seems stable enough and, most importantly the setup is working incl. motor test and led. Then, could someone point me to the correct stl’s for the condenser using the led-smd coming with the sangaboard? I am not sure which ones are the correct ones.

On a side note, i had to start the openflexure app on Linux (Mint 21 with nvidia mx150 GPU) with “–no-sandbox” as i otherwise did get the following error.

FATAL:gpu_data_manager_impl_private.cc(439)] GPU process isn't usable. Goodbye

Another Question, in case i want to add the Adafruit LED Illumination board, which drawer is the correct one? (Raspiberry PI 4, LED Board Mod, Sangaboard V0.5.3)


Hi @nethead, the base that you are using is the new base that was designed after the beta1 release, but the drawer you have is the beta1 drawer. The new drawer and base are specifically to overcome the socket height issue that you see with Sangaboard v0.5. Moving the socket meant that we also needed to move the screw to the side. All of the STLs for Sangaboard v0.5 are on the thread about the Sangaboard, in post 50. You will need the electronics_drawer-pi4_sanga_stack_11mm.stl for Pi 4 and Sangaboard v0.5.

We do not have any specific mounting for any electronics required for the LED array. That is an option that is not in the core version of the microscope, I have not used this illumination myself, but the board in the instructions I linked above is just a level shifter. There might be space above the Sangaboard to fit that over the top and still get the motor cables out underneath, but as it is just a level shifter there are plenty of very small level shifter breakout boards that you could use.

1 Like

Thanks for help, William,

i will first try the simple darkfield mod for smd led that i ordered with the new sangaboard. In case i will try the LED array i will check if i can mod the openscad files. Cant say i am an openscad pro but i do use it for most of my technical models for 3D printing. Where can i find the openscad source files?


Source files are in the openscad folder of the microscope Gitlab repository. The overall repository is linked from the Openflexure web site. The electronics drawer and stand are defined in the file libs\lib_microscope_stand.scad


i have the microscope now nearly fully assembled. Unluckily i cant find the Self Tapping Screws 2 x 6.5mm so i had to improvise. Is there any documentation on the calibration process? Auto calibration totally fails with (only) the X-Axis moving until i can hear the plastic cracking.

When i manually (by hand) move the Z-Axis all the way up the lens ends up over the level of the specimen platform. (Would hit the specimen slide). The lens seems to be fully inserted and its a “Plan 60/0.85 160/0.17” lens. I am currently using the “standard” LED illumination setup coming with the sanga board.

I am not really sure how to continue from here.

I think that a couple more tests would help to find where the problem might be here. You have looked at the z-axis manually, and from what you say that sounds fine, if it is moving smoothly when you use it manually. For a x60 objective the working distance from the sample is much less than 1mm. The z-axis has a travel of 2mm, centred on the nominal focus position (shoulder of the objective 45mm below the sample). That means that the lens will be able to move up to 1mm above the focus position, which for a x60 lens is through the sample. This is usually the case for high magnification microscopes; to be sure that you can get close enough to be in focus the travel does allow the lens to hit the sample.

The x-y behaviour is less clear. Have you tried it manually without the motors, and does it seem to move correctly and smoothly? If it does work manually, then with the motors installed but without running the stage calibration do the x and y travel seem to work using either the arrow keys or go to position in the web app? Are the motors plugged in in the right order so that the x motor responds to x commands, y to y and z to z? It is very easy to get the wires muddled when building the microscope, there was also a software error at one point that meant that the markings on the Sangaboard v0.5 did not match what the software was doing. If that all works, after swapping motor connections if needed, then calibration should work.
The stage calibration needs the stage to start reasonably close to the centre to be sure that it does not get to the end of travel before it has finished the routine. You can see whether the actuators are centred by looking at the slot that the actuator nut goes in - that is lined up in the actuator column and the housing when the actuator is in the central position. If that all looks to be OK then try the stage calibration again. Get a slide with some clear detail and focus the microscope before starting the stage calibration, the routine uses image analysis to see how far the image moves when the motors step in each direction so it needs something to look at.

I hope that this helps you to progress.

My main body (PLA vesion) did basicly fall apart when i did try to remove it. All axis had seem to had been broken. Which had been quite hard to see. I am currently assembling a new main body.

For calibarating a 60x lense, which kind of calibration slide is recommended? I will now calibrate manually before trying any auto-calibration as it seems there are no max values for axis travel distance.

1 Like

It is unfortunate that the body fell apart. Pictures of where it broke could be helpful to understand why that was.

For the illumination and lens shading calibration you need to have no slide, but the illumination adjusted as it will be for imaging.
For the camera-stage mapping you need to have a slide with some detail, illuminated and in focus (or close to focus). A scribble of sharpie on a slide can work well. It needs to have some dark and light areas in the field of view at all times when the stage moves from the starting position by a screen width or so in all directions. Straight lines could confuse it.

As you say there are no max travel sensors or values. There is actually a way to do it from the autofocus information during scanning Home / Limit switch- OpenFlexure Forum, post 41. Something like that will all being well make it into the main software, but for now you need to keep an eye on whether the stage is centred.

Hello William,

i dont think it makes a lot of sense to debug why the old main-stage did break. IMO the axis had been overstrechted. Autocallibration did move the X axis until i could hear something breaking, most probably the “hinges”.

So, main stage 2 is ready wo the motors but i only get a black screen. I did remove the “OpenFlexure Connect” dirs in “.config” on both, the openflexure server / raspberry pi and my linux notebook. I did stop the openflexure service before deleting the config and restartet it afterwards. Openflexure Connect tells me that the lens shading table is already correct/loaded (how to delete/recalibrate this?) but all i see is a black screen.

When i use “raspistill -o test.jpg” i do get an image though (see attached image). I also saw that one can download a shading table but i dont know where to find it. Not sure on how to proceed from here. I suspect a resetting the lense shaping table?

Openflexure connect just connects finds microscopes on the same network as the computer and launches the web app that is served from the microscope that you select. All the actions and settings are in the server running on the Pi in each microscope.

In the microscope web app interface there is a ‘settings’ tab. In that tab the camera group has a set of buttons at the bottom. One is to disable the lens shading table, one is to auto adjust the brightness (if it is black that should make it not black) and one is to re-run the calibration.

I would suggest that you try the auto gain and brightness first and see if anything changes during the process. it is not fast but should start black, go brighter to very white and then finish at something sensible. If that happens then try the re-run of the full calibration.