Skip to content

OpenScan Mini with Polarizer Module



The OpenScan Mini is a compact desktop 3D scanner capable of scanning objects up to ~8-10 cm with an accuracy of up to 0.02 mm. The frame can be fully 3d printed, and all other components are off-the-shelf parts. You should be able to source all parts locally, or chose to support the OpenScan project by ordering (some) parts through Currently, the following cameras can be used without any additional modifications: Arducam IMX519 16mp & autofocus, Pi Camera v2 8mp and Pi Camera v1.3 5mp, where the Arducam IMX519 has to be considered the gold standard (for now :)

Bill of material (BOM)

  • 24x M3x8 screws
  • 1x M3x12 screw
  • 1x Pi Shield
  • 1x Nema 17 (>40Ncm)
  • 1x Nema 17 (>13Ncm)
  • 1x Raspberry Pi 3B+ or 4 (any)
  • 1x Micro SD Card (>16GB)
  • 1x Camera Ribbon Cable 50cm
  • 1x Ringlight
  • 1x Camera Module IMX519 (alternatively Pi Camera V2 or V1.3)
  • 2x M2x6 Nylon Screw
  • 2x M2x6 Nylon Standoff
  • 2x M2 Nuts
  • (2x M2x12 Nylon Screw if you use the Pi Camera module)
  • 1x Polarizer module

3d printed parts: * Frontplate * Base * Rotor * small gear * backplate * object holders (4 sizes)

3D Printing

Get the printable .stl (and design) files here.

PRINTER - you will need a print-bed of at least 200x200mm - depending on your printer's capabilities (and your risk aversion), all parts can be fitted onto one build plate of min. 220x210mm - printing all parts can be done in under 17h (tested on Prusa MK3S+ using default Draft profile)

PRINT SETTINGS - support: no (* except for 07_polarizer_b - layer-height: 0.2-0.3 mm - print speed: depends on your printer's calibration

MATERIAL - COLOR - main Frame: Please use a material without visible particles or structure. Avoid transparent materials - COLOR - 07_polarizer_a: translucent/natural - COLOR - 07_polarizer_b: any non-translucent material (like PETG black, Prusament Galaxy Black) - PLA is totally fine, since there is not a lot of mechanical strength needed - PETG, ABS, ASA can be used for increased temperature resistance in warm environments


Frontplate + Pi-Shield

  • 1x Frontplate (3d print)
  • 1x Pi Shield
  • 4x M3x8

01 Front Plate

Mount the Pi Shield to the front plate using four M3x8mm screws


Base + Rotor

  • 1x Base (3d print)
  • 1x Rotor (3d print)
  • lubricant and/or sandpaper (optional)


Insert the rotor into the base and make sure, that the rotor can slide freely! (It might require some sanding and/or lubrication)


Mounting the Turntable Motor

  • 1x Base + Rotor
  • 1x Nema17 small
  • 4x M3x8 screws

Make sure to mount the small stepper motor (Turntable) first. The motor connector should face to the left.


Mounting the Rotor Motor

  • 1x small gear (3d print)
  • 1x Nema17 large
  • 4x M3x8 screw

Press the small gear onto the shaft of the larger stepper motor.


Mount the stepper motor with four M3x8 screws like shown below. Move the large ring a couple of times to make sure, that the gears fit. Again, the motor connector should face to the left.


Mounting the Raspberry Pi

Insert the Micro SD card into the slot of the Raspberry Pi.

Mount the Raspberry Pi with four M3x8 screws. Make sure not to overtighten the screws, which might bend and damage the board. Note, that the Raspberry Pis screw holes are a tight fit for those M3 screws.


Preparing the camera cable

  • 1x camera ribbon cable (50cm)

Insert the camera ribbon cable through the two slots (red arrows). Make sure that the metal plating of the cable is facing the stepper motor (yellow circle). Take care not to create sharp bends as this might damage the cable.:


Continue through the next slot (again the metal plating should be facing away from you):


Insert the camera ribbon cable into the socket. The metal plating should be facing away from the USB/Ethernet ports (yellow circle). Gently close the sockets bracke by pushing it down (dark part that likes to break).


Preparing the Ringlight Module

** IMPORTANT: Make sure to follow the right setup for your camera module:

Arducam IMX519 16mp with Autofocus

  • 1x Ringlight PCB
  • 1x Arducam IMX519 16mp camera module
  • 2x M2x6 screws
  • 2x M2x6 standoffs
  • 2x M2 nuts

See the sequence of the parts:


Make sure that the lens is properly centered (looking at the ringlight from the front as shown in the right image):


Pi Camera v2.1 or v1.3

  • 1x Ringlight PCB
  • Pi Camera v2.1 or v1.3 module
  • 2x M2x12 screws
  • 2x spacer
  • 2x M2 nuts

See the sequence of the parts:



Mounting and connecting the Ringlight Module

  • 1x Ringlight Module
  • 1x 50cm ringlight power cable (3P JST XH)
  • 4x M3x8 screws

Mount the ringlight module using 4 M3x8mm bolts as indicated by the red arrows: image

Connect the camera ribbon cable with the camera. The Metal plating is facing down. (yellow circle) Connect the 50cm ringlight cable with 3P JST connectors to the Ringlight (red arrow):


Guide the ringlight cable as indicated by the yellow circles:


Connecting the Pi Shield

  • 1x Frontplate with Pi Shield
  • 2x stepper motor cable

Connect the stepper motor cables to the Pi Shield and the corresponding stepper motors (see labels bellow):


  • (1) Turntable (small Nema 17)
  • (2) Rotor (large Nema 17)
  • (3) ST XH 3P (from ringlight module, see previous step)

Mounting the Frontplate

  • 1x M3x12 screw
  • 1x frontplate with Pi Shield
  • 1x base/rotor

Mount the frontplate to the base. Make sure that the pin headers of the Raspberry Pi and the Pi shield are properly aligned. (Yellow circle):


Use the M3 screw to connect the frontplate to the base_


Mounting the Backplate

  • 4x M3x8 screws
  • base/rotor
  • backplate (3d print)

Make sure, that the ringlight cable is sitting in the guide slot. (yellow circle) Use the 4 M3x8 screws to mount the backplate (red arrows):


Mounting the Diffuser/Polarizer

  • OpenScan Mini
  • Polarizer Module

The Polarizer module can be easily mounted by clicking it onto the rotor: image

The polarizer module consists of two printed parts. It is very important that the smaller printed part (yellow circle) is not translucent in order to block all light. There are two pieces of linear polarizer foil. The smaller piece (15x11mm) was inserted into the slot (red arrow). The larger piece (75x66mm) is covering the whole front area except for the middle (red arrow). It is absolutely crucial that those two pieces are oriented perpendicularly against each other. The polarizer will greatly improve the results by filtering allmost all direct reflections. image

Starting the device for the first time

Plug in a 12V (min. 2A power supply) and start the device.

Continue with this guide, which shows the initial setup of the firmware and some general tips & tricks