book collections email follower instructable user

In optical microscopes, there is a fundamental trade-off between field-of-view and resolution: the finer the detail, the smaller the region imaged by the microscope. One way to overcome this limitation is to translate the sample and acquire images over a larger field-of-view. The basic idea is to stitch together many high resolution images to form a large FOV. In these images, you get to see both the full sample, as well as fine detail in any portion of the sample. The result is an image consisting of about a billion pixels, much larger in comparison to the pictures taken by a dSLR or smart phone, which typically have around 10 to 50 million pixels. Check out these gigapixel landscapes for an impressive demonstration of the massive amount of information in these images.

In this instructable, I will go over how to build a microscope capable of imaging a 90mm x 60mm field-of-view with pixels corresponding to 2μm at the sample (although, I think the resolution is probably closer to 15μm). The system uses camera lenses, but the same concept can be applied using microscope objectives to get even finer resolution.

I uploaded the gigapixel images I acquired with the microscope on EasyZoom:

1970 National Geographic magazine image

Crochet tablecloth my wife made

Miscellaneous electronics

Other resources:

Optical microscopy tutorials:

Optical resolution:

In addition to image stitching, recent progress in computational imaging makes gigapixel microscopy possible without even moving the sample!

Step 1: Supply List

Picture of Supply List


1. Nikon dSLR (I used my Nikon D5000)

2. 28mm focal length lens with 52mm threading

3. 80mm focal length lens with 58mm threading

4. 52mm to 58mm reverse coupler

5. Tripod

6. Seven sheets of 3mm thick plywood

7. Arduino Nano

8. Two H-bridge L9110

9. Two IR emitters

10. Two IR receivers

11. Push button

12. Two 2.2kOhm resistors

13. Two 150Ohm resistors

14. One 1kOhm resistor

15. Remote release for Nikon camera

16. Black poster board

17. Hardware kit:

18. Two stepper motors (I used Nema 17 Bipolar step motor 3.5V 1A)

19. Two 2mm lead screws

20. Four pillow blocks

21. Two lead screw nuts

22. Two bearing slide bushing and 200mm linear shafts:

23. 5V power supply:

24. Wire wrap wire


1. Laser cutter

2. 3D printer

3. Allen wrenches

4. Wire cutters

5. Wire wrap tool

Thanks I personally use a camera lens with my phone
ayjaym10 days ago
This is an extraordinarily clever idea. I wondered if perhaps a low-cost 3D printer might work as a positioner as you already have the XYZ axis and with a suitably lightweight camera and an appropriate bracket, something like the Creality Ender 3 (which I own) should be able to position to approx. 0.05mm accuracy with minimal backlash. After all, that's what it's gotta do as a good 3D printer. Then just use gcode files to control the translation sequence. Camera weight could be offset with a spring assembly mounted to the top of the printer frame, I would think, so that the gantry doesn't have to carry the camera weight, you could virtually 'zero out' the weight and the inertia isn't an issue as you will be moving at very low velocity.
jbumstead (author)  ayjaym8 days ago
I think modifying a cheap 3D printer would definitely work for this project. Good idea to use a spring assembly for the camera mounting. I think this would be the toughest part. Another advantage to using the 3D printer hardware is easy control in the z-direction for adjust the focus, which was a pain to do manually with the tripod.
wahmah13 days ago
For stiching images you can also use Microsoft Image Composite Editor, it's free.
jbumstead (author)  wahmah11 days ago
Just tried out Microsoft ICE. It is incredible! Thanks for the suggestion.
jbumstead (author)  wahmah13 days ago
Awesome, thanks for the tip. I will try it out.
doowoppie12 days ago
I use Microsoft ICE for stitching images.
It is one of the better programs and is free last time I checked
jbumstead (author)  doowoppie11 days ago
Just tried out Microsoft ICE. It is incredible! Thanks for the suggestion.
Razanur13 days ago
Hmmm, now I want to mod my ultimaker for this :D
jbumstead (author)  Razanur13 days ago
Haha, not the ultimaker!
Why not? "Free" xyz stage...
grahambb13 days ago
There is a freely available (registration/login required) viewer for storing and sharing your gigapixel images via a web browser at

jbumstead (author)  grahambb13 days ago
Thanks for sharing this source!
MechZaari13 days ago
There are a number of way using software algorithms to improve on the image resolution. Would be great to collaborate with someone who is more familiar with these techniques to really push the boundaries of the resolution!
jbumstead (author)  MechZaari13 days ago
Good idea, I had one link in the intro for a gigapixel microscope that required no moving of the sample. But there are many more ideas out there!
arpruss13 days ago
Cool! I wonder if one could do this by mounting a camera on a CNC router? I am guessing camera weight would be a problem.
jbumstead (author)  arpruss13 days ago
Definitely seems possible. A smaller camera with the right optics would solve the weight problem.
billbillt13 days ago
painfull16 days ago
Getting 404's on those image links.
jbumstead (author)  painfull16 days ago
Thanks for letting me know. They should be working now.