Public Lab Research note

OpenFlexure Microscope: high-resolution assembly

by mathew | | 946 views | 7 comments |

Read more:

previously I assembled an OpenFlexure microscope using the standard optics, achieving a low resolution, approximately 10x zoom microscope. I plan to use it to assess Passive particle monitor samples.

I've upgraded to a larger microscope body and higher magnification 40x objective lens.

Tools, Parts, and Files


  • M3 screwdriver
  • needlenose pliers
  • 3/32” drill bit (specifies METRIC)
  • Well-tuned 3D printer


  • 3x 30mm M3 hex head screws
  • 6x m3 washer
  • 2x 8mm M3 screws (pan head)
  • 6x rubber bands 1mm cross section by 15cm unstretched
  • jumper wires for Raspberry pi to LED
  • white LED, 3mm dia. and ~40 ohm resistor (or two 22 ohm resistors in series)
  • OR 7mm 6-LED endoscope with 2 meter cable (optional, but allows another view of the sample and dimmable light)

Microscope Parts

  • objective RMS mount objective, 160mm RMS tube distance, 195mm lens to focal plane distance.

Raspberry pi equipment:

  • Raspberry Pi
  • Raspberry Pi Camera
  • Keyboard, Mouse
  • HDMI TV, monitor, or converter
  • microUSB power supply, 2A or above

3D print Files

Most files are in the OpenFlexure Github

Assembly notes

The LS-65 microscope body printed with its two rear legs detached. I repaired it with some vulcanizing rubber glue, i.e. barge cement (UHU power glue).



I then discovered my rear leg (illuminiation_and_rear_foot_sample_Z60) was not tall enough for the LS-65 body I'd printed. To remedy this, I edited the OpenSCAD file. I also changed the LED size to 8mm. At the bottom of the file are editable details for its X and Y dimensions:


original, my first and second tries at editing the file:


I used much smaller rubber bands for the feet attachment, and a smaller paperclip to pull them through. This made assembly of the knobs far, far easier than before.

Calibration, Magnification, image defects

I bought a stage micrometer-- a small ruler mounted on a slide-- in order to check the magnification. There are 100 rules in a millimeter, so each one is 0.01mm, or 10μm. The model I bought is a MEIJI Techno MA285.

Using ImageJ I set the scale of the image. I have almost 10 pixels per μm, and my image is approximately 210μm x 280μm.


The image also reveals that I got some dust on the sensor while assembling the optics. This raspberry pi sensor has been fit five or six times, and I'm not surprised. The next sensor I have will experience less change-over and hopefully not get dusty:



I'm not sure my rubber bands pull enough. I'm having trouble with the knobs skipping, and I can't use the full motion of the LS_65 body. I had hoped not to double them up, as the single bands made assembly a breeze, but will go back and try that.

The stage lighting has a serious color gradient, I'm not sure what to do about exposure and white balancing.

The feet still wobble a bit, and the microscope really seems to need a mount other than just its feet. There is also vibration when using the zoom functions. I believe mounting it to a plate and encasing the microscope will solve this issue.

Next steps

I should fork the repository on Github and add my build files and bill of materials.

I'm going to build the microscope into a box with a RPi touch screen so I can get it portable and off my desktop.

I'm going to calibrate the zoom with a stage micrometer and check it against 2μm Polystyrene Latex (PSL) beads.

I did this Help out by offering feedback!

People who did this (0)

None yet. Be the first to post one!


Hey, nice work :)

I have also had problems with the legs getting detached during printing, and discovered there was a bug in my OpenSCAD code - it left an infinitesimal gap that meant the leg didn't join properly. I've squashed it now, though.

I think there should be an LS65 illumination module on the github now, but in any case this should also get easier as I've revised the OpenSCAD files to use a common set of parameters - so (as long as you're compiling from OpenSCAD) it should be easier to get a consistent set of parts.

What I should really do is make an automated build system where you just choose the parameters and go - but that will take me a while...

Anyway, I'm very glad you found this version worked better!

thanks Richard! I'll try the new files soon. I'm excited to contribute some mounting files to the project and a carrying case. Will get on those in early August.

a note to myself: I found this article on calibrating microscopes useful background.

Brilliant - I've wanted to make a carry case for absolutely ages, but other things keep getting in the way. I'll be excited to see what you come up with :)

Here are some image sets including a flat field calibration and scale from the PSL imaging.



Hi @matthew, great that you've got some images :) Looking at your graticule, I think your illumination might be misaligned - the blue-yellow gradient around the lines is classic condenser misalignment, from what I've seen. The design allows you to shove the illumination arm around a bit, if you give that a try it ought to move the halo around a bit and at some point it will disappear. On my long-term to do list is a nice way to adjust this with some screws, but I've not built that yet...

thanks! I've had some trouble getting the illumination aligned with the very tall illumination arm I made. Its complicated as well by the cable of the webcam. I think I should switch to the shorter illumination arm and the LED.

Login to comment.

Public Lab is open for anyone and will always be free. By signing up you'll join a diverse group of community researchers and tap into a lot of grassroots expertise.

Sign up