Public Lab Research note

OpenFlexure Microscope: high-resolution assembly

by mathew | July 21, 2016 19:17 21 Jul 19:17 | #13303 | #13303

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! Browse other activities for "microscope"

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!

Reply to this comment...

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.

Reply to this comment...

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

Reply to this comment...

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 :)

Reply to this comment...

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



Reply to this comment...

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...

Reply to this comment...

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.

Reply to this comment...

Login to comment.