Introduction: The Mighty Roto-Microscope

About: I am a curious scientist and dedicated teacher, supported by my loving family assistants.


This project aimed to develop a device integrated with a cheap USB microscope that allows taking 3D pictures of small samples. The project is meant to be an education STEM activity to learn using Arduino, 3D image reconstruction, and 3D printing by creating a useful piece of equipment for some exciting science activity. Like my previous project, it is also a moment to share excellent and educative time with my family and in particular, my elder son Leonardo that helped me in creating this instructable and evaluating the device as an enthusiastic STEM student. This time, my lovely wife also helps me make a video of the equipment assembly!

The roto-microscope allows controlling the position of a simple USB microscope around the sample. This allows us to take accurate pictures from different angles and not just from the top as in the traditional microscopes. This is not a new idea, as there are professional microscopes. However, this device means to be affordable for a student and still provides some similar results and a lot of fun in building it. Other similar and excellent OpenSource projects are available (see, for example, the Ladybug microscope, the Lego microscope, and the OpenScan project), our project adds an additional option and I hope that you enjoy making it as we did!


For this project, you need:


  1. 3D printer. All the parts have been printed using PLA filaments. We have used a resolution of up to 0.3 mm to speed up the printing of the main body and the microscope table support. However, more fine detail is required to print parts such as the blade: 0.2 mm should be okay. The STL files of all parts are provided.
  2. An Arduino Mega 2560. We have used this controller just because we have a spare one. An Arduino with the expansion board and LCD as in our previous project (The Sand slicer: but the controller program needs to be adapted as well.
  3. An LCD Screen 1602A shield. We used it as we wanted to try this shield as it t has a convenient keypad integrated with the LCD.
  4. Two 28-BYJ-48 DC 5V Step motors with two ULN 2003 Driver Boards: One stepper motor controls the vertical position of the microscope arm while another rotates the specimen table.
  5. One joystick module: For manual control of the microscope arm
  6. One 1000x USB Microscope: This microscope allows the whole machine to work. We have used a cheap and wire-connected 640x480pixel resolution one, and it worked pretty well as it is also very light. However, the device could also control a wireless and heavier one without problems.
  7. One push-button module: This is placed on the main plastic body of the machine. It is used for automatic homing of the microscope arm.
  8. Two PDF files with the scale of the decorations to stick to the main body of the device.
  9. One ABEC-9 608Z bearing: For smooth rotation to the microscope arm.
  10. SCREWS:
  • 8 machine screws (4x25 mm).
  • 4 M4 nuts.
  • 4 machine screws (4x16 mm).
  • 5 machine screws (4x10mm).
  • 2 machine screws (2x15 mm).
  • 2 Phillips screws (2x 6 mm).


  1. One printed microscope arm
  2. A USB support ring
  3. Support for the push-button finger
  4. 2 gears ( one with 30 teeth, another with 12 teeth)
  5. A microscope arm holder
  6. Two cases for the step motors ( a legged and a non-legged one)
  7. One support for the main body.
  8. One specimen table
  9. One ring to keep in place the plastic layer on the top of the microscope specimens table
  10. One microscope's main body
  11. two knobs


If you want to automatize the microscope to collect photos at different angles, then you also need:

  • One SG90-9G Micro Servo Motor. It is used to press a mouse button to control the program to take pictures from the USB microscope.
  • A slim computer mouse: We used one with a height of ~1 cm and a width of 5cm. The servo and mouse case is designed for a mouse with a height of ~1 cm. Its servo arm is used to press the left button. For the moment, we cannot find a more convenient solution. If your program can be commanded by a wireless shutter, then you can use the one designed for the Sand slicer project (see link above).
  • A 3D printed mouse and servo Motor holder for the shutter device.

Step 1: 3D Printing the Parts

All the STL files of the different parts that need to be 3D printed are attached. We have prepared the gcode files using the PRUSA Slicer and printed them using an Ender 5 Plus. The larger part as the main body and the support of the microscope platform can be printed to a more coarse resolution up to 0.3 mm. The other part requires to be printed using normal 0.2 or finer resolutions. In this way, the longest printing time has been around 3 hours for the larger parts. The attached photo show all the printed components.







If needed for the automatic photo collection, assemble the servo with the mouse in the case.

Connect the servo, stepper motors, joystick module, and push button to Arduino Mega 2560 with the LCD keypad Shield.

Connection PINS:

USB microscope stepper motor control pins

  • IN1 28
  • IN2 26
  • IN3 24
  • IN4 22

Define rotation table stepper motor control pins

  • IN1 36
  • IN2 34
  • IN3 32
  • IN4 30


  • Joystick ground pin will connect to Arduino analog pin A8
  • Joystick +5 V pin will connect to Arduino analog pin A9
  • Y-axis reading from joystick will go into analog pin A10
  • X-axis reading from joystick will go into analog pin A11


  • Digital signal 31
  • Define digital pin here as VCC 33
  • Define digital pin as Ground 35

Use a power supply to drive the controller as it controls two steppers that can suck up to 260 mA each.



This is the program written for the Arduino Mega to control the Mighty Roto_microscope. The joystick module is used to rotate the microscope (y-axis) and the microscope table (x-axis). The button is used to take pictures using the mouse-shutter.


up/down : LCD menu item selection

Left/Right: Change the values of the rotation angles.

Right : Activate the automatic sequence (Menu item: Auto. Mode).

Select: Move the microscope down to the home position and in automatic mode to abort.


X-steps/degree: Set up the rotation steps (in degrees) of the microscope rotating table.

Y-steps/degrees: Set up the rotation steps (in degrees) of the microscope supporting arm.

Auto. Mode: Run the automatic sequence of photo collection (use the select key to abort).


If you reached this step, you managed to finish building the Mighty Roto-Microscope. Congratulation!

Now, to use this fantastic tool, you need to insert a commercial hand-held USB microscope into the ring of the rotating arm. We have used two types: a cheap low resolution (640x480 pixels), one with a USB cable, and a wireless one with a better resolution camera but a bit more expensive. The first type has the advantage of being 40% lighter than the second. Yet we couldn't notice much difference when the device is powered with a suitable power supply. Next, the transparent cone at the end of the microscope needs to be removed to adapt it to the ring. The ring has a hole for a short M4 screw to block it. Note that the support ring can be attached to the arm at different distances from the rotating table. That allows for enlarging the field of view.

Then you need to align the rotating table to the microscope axis. That is done by sliding the support of the rotating table along the main-body arms till the tip on the microscope supporting ring aligns with the line embossed on the support sliding guides. A fine adjustment is then made by looking at a small object with the microscope to check if it is correctly centred. Finally, you can rotate the table with the joystick to refine the alignment.

Once the microscope is well-aligned, you can fix the microscope table support using the lateral screws. You are now ready to use the microscope. Use the joystick to move up and down the arm or rotate the object on the microscope table. If you wish to run an automatic sequence of photos, you need to select the table's rotational step (in degrees) and arm position using the menu and the Keypad. We have used the "Plugable Digital Viewer" to collect images running on a MacBook laptop. The program has a button on the graphical user interface to take photos. You need to move the mouse pointer of the computer/laptop on this button. Then on the menu Keypad, you select Auto Mode and press the right key. That will activate the sequence you can abort by pressing the select key. Make sure that the shutter is working properly by pressing the mouse key. Also, add a dark tape under the mouse motion sensor to avoid the pointer on the screen moving for the little sliding of the mouse position when the button mouse is pressed.

You can also deactivate the shutter using the menu if you wish to run the sequence without taking pictures (for example, recording a video sequence).

You can watch the video to understand how the microscope can be operated.


I will leave again the wording of the conclusions to my son Leonardo:

We had wonderful fun constructing the Roto-Microscope to experience the world of shape and nature. We have experienced many new perspectives and have learned a vast amount of things in this fantastic adventure. This new tool will allow us to marvel at hidden secrets lurking inside objects and will leave many new doors of wonders ajar. As an interested STEM student, the Roto-Microscope has been a delight to work on, and am happy with the result. And this is where we leave this useful tool to you dear reader and hope that you will find your own magical discoveries and extend your interest in the world. The aim of the Roto-Microscope as it has been for many other projects is to join Computer Science with Biology but that is not its true purpose. Its true purpose is dear reader yours to decide.

DIY Summer Camp Contest

Participated in the
DIY Summer Camp Contest