OpenScan DIY: Complete guide to the homemade 3D scanner

  • OpenScan offers an open-source DIY 3D scanner based on photogrammetry, with modular hardware and 3D printable parts.
  • The OpenScan Mini and Classic models cover scanning ranges of up to 8x8x8 cm and 18x18x18 cm, respectively.
  • The system combines Raspberry Pi, Nema 17 motors, Ringlight and Python software with photogrammetry tools such as Meshroom or OpenScanCloud.
  • The community and open documentation allow the project to be adapted, improved, and expanded with new features and camera configurations.

OpenScan DIY 3D Scanner

Home 3D scanning is no longer just for labs and large corporations. Thanks to projects like OpenScan, now anyone with a bit of know-how, a 3D printer, and a Raspberry Pi can set up their own 3D scanner. low-cost, open-source DIY 3D scanner, as detailed in This 3D scanner guide, capable of generating highly detailed models of small and medium-sized parts.

Within this ecosystem, OpenScan has become a benchmark because it combines modular hardware, 3D printable files, and open-source softwareAll of this is supported by a very active community. The result is a flexible system that can be adapted to different types of cameras (Raspberry Pi, DSLR, or even a mobile phone) and various needs: from collectors who want to digitize miniatures to professionals who need to digitize mechanical components.

What is OpenScan and why is it different?

OpenScan is a project of open-source 3D scanner based on photogrammetryDesigned to be assembled at home with relatively easy-to-find components. Unlike other closed commercial 3D scanners, here you have access to the part designs, firmware, and technical documentation, all available in public repositories like GitHub or Thingiverse, unlike commercial kits reviewed such as the analysis of the BQ Ciclop.

The philosophy of the project revolves around doing the 3D scanning accessible to everyoneThis translates into affordable kits, detailed instructions, print-ready files, and a distinctly community-oriented approach: users are encouraged to contribute improvements, test new parts, and share scan results in the official gallery.

OpenScan combines a part of 3D printable mechanical hardware (gears, bases, supports, rings, etc.), with electronics based primarily on Raspberry PiNema 17 stepper motors and a dedicated OpenScan Pi Shield are used. Python software runs on this base, controlling image capture and the rotation of the object being scanned.

A key advantage over purely manual photogrammetry solutions is that the scanner automates the process of taking hundreds of photos from different angles, under a Constant illumination thanks to the ring lightThis improves the quality of the results and saves the user a lot of time.

The project has evolved considerably over the years, so it is always recommended to consult the most recent documentation. The author himself indicates that Many things have changed over time and links to the updated official documentation on Github to avoid confusion with older versions.

Main models: OpenScan Mini and OpenScan Classic

Within the OpenScan ecosystem there are several designs, but the two that stand out the most are the OpenScan Mini and OpenScan ClassicEach one is optimized for a range of different sizes and uses.

OpenScan Classic is the most versatile version in terms of scan volume. It allows you to capture objects up to 18 x 18 x 18 cmThis makes it ideal for medium-sized mechanical parts, small sculptures, models, or 3D printed components that you want to replicate digitally.

The OpenScan Mini, meanwhile, is designed for smaller objects, up to 8 x 8 x 8 cmIt is especially interesting for miniatures, collectible figures, insects, jewelry, or highly detailed pieces where precision and lighting control are essential. For a comparison of budget-friendly alternatives that offer good precision, you can consult a... analysis of budget scanners.

In both cases, the system is based on rotating the object and the camera in a controlled manner using stepper motors, capturing many images from different angles. The Mini usually mounts the Raspberry Pi camera module and ring light on the stand, while the Classic has a somewhat larger and more flexible structure, where you can also use a DSLR or a smartphone.

The community has been contributing design revisions and variations, and the creator himself warns that the Printed parts may need future modificationsThat's why he insists on always checking the project's official website and the documentation on Github before printing or assembling a new scanner.

Hardware and electronics: essential bill of materials

To assemble an OpenScan, whether Mini or Classic, you will need a combination of standard electronic components and 3D printed partsMuch of the hardware is sold directly in the project store, although you can also get it yourself if you prefer to do everything DIY.

In a typical Raspberry Pi-based setup, the basic list includes a Raspberry Pi 3B+ or 4which will be the brain of the system. The OpenScan Pi Shield is mounted on it, a specific board that simplifies the connections of the motors, lighting and camera, and is available in both pre-soldered and self-soldering versions.

Regarding image capture, the usual practice is to use the Official Raspberry Pi v2.1 8MP camera with a ribbon cable of approximately 50 cm, although compatible ArduCam modules are also mentioned, including higher resolution options (e.g., 16 MP). The camera's ribbon cable can vary in length, so be sure to choose the correct version at the store. Similar projects exist using other sensors, for example one based on Kinect and Raspberry Pi.

To move the turntable and, in some designs, the camera position, the following are used: Nema 17 stepper motorsThe Classic model specifies a 13 Ncm Nema 17 motor and a 40 Ncm Nema 17 motor, each with its specific function within the structure. These motors are controlled by two A4988 drivers, which are very common stepper motor drivers in the 3D printing world.

We must not forget the nutritional aspect: a 12V, 2A power supply A 5,5 x 2,5 mm connector is usually sufficient to power the motors, the light ring, and the rest of the electronics. In addition, you will need screws (for example, 25 M3 x 8 mm and 25 M3 x 12 mm screws), M3 nuts, a 50 x 6 mm steel rod, and stepper motor wires, which are typically around 1 meter long.

3D printed parts and print settings

One of the key aspects of the project is that almost the entire mechanical structure of the scanner is composed of 3D printed partsThese are specifically designed to be easy to manufacture on home printers. All STL files and design documentation are organized in the OpenScan repository on GitHub.

The parts have been tested on several printers, but the author himself warns that Tolerances and clearances may vary There's quite a bit of variation between printers and settings. That's why a "tester" or tester is included as part 0, which we recommend printing first to check if the machine settings are correct.

The tester consists of two pieces (0a and 0b) that must slide inside each other with minimal friction. Piece 0a also allows you to check the camera cable fit. Part 0b may require some sanding or the removal of the typical "elephant's foot" from the base of the print, which is normal if the first layer is somewhat flattened.

If you find that the dimensions do not match what you expected, the author suggests that it may be necessary scale the pieces by a factor of 10 This is a common problem in the slicer when the files are in millimeters and the software interprets them in a different unit. It's advisable to double-check this before printing the entire set of parts.

Regarding the recommended printing parameters, the following is suggested: layer height of 0,2 mmAround 20% infill and between 3 and 4 wall lines. These are fairly standard settings that aim for a reasonable balance between print time and mechanical strength; if you're unsure about your machine, consult our guide on what 3d printer to buy.

Description of the main components of OpenScan

The printed component assembly includes a series of numbered parts, each with a specific function within the scanner structure. Part (1), known simply as “Ring” or ringIt is a crucial piece that usually needs printing supports and probably some subsequent sanding to ensure that it moves smoothly across the base.

Part (2) corresponds to the scanner base, onto which other elements such as the ring and gears are attached. (3) is the backplate and (4) is the frontplate, specifically designed to house the Pi Shield, leaving the connectors accessible and securing the electronics in place.

The supports for the object to be scanned appear as a set (5), with several slides of different sizes. The number engraved on each one indicates the maximum height of the object it can support(a) 3 cm, (b) 5 cm, (c) 7 cm and (d) 10 cm. In many cases it may be necessary to pass a 5 mm drill bit through the central hole to adjust it a little and improve the fit.

The transmission system is based on gears (6), which are provided in three slightly different dimensions: (a) 100%, (b) 102%, and (c) 98%. Depending on how your machine prints—whether it tends to leave parts slightly larger or smaller—it may be advantageous to use the slightly oversized or reduced gear to achieve the desired result. perfect fit with the rest of the mechanism.

Finally, part (7) is a diffuser, which is considered optional but quite useful. It allows mounting a crossed polarizer configuration Using linear polarizing sheets helps reduce reflections on shiny surfaces when scanning. Specific instructions for this advanced setup are detailed on the project website.

Lighting and ring light

Lighting is a critical aspect of photogrammetry, and OpenScan solves this with a Ring light or ring light specifically for the Pi cameraThis ring connects via a 3-pin JST-XH cable of about 50 cm and can be purchased pre-soldered or for soldering at home, depending on the skill level of each person.

The ring light is responsible for providing constant and homogeneous lighting conditions throughout the entire scan. By remaining fixed relative to the camera, it ensures that all photographs are taken under exactly the same light, which is key for the photogrammetry software to properly align the images and reconstruct a clean mesh.

The combination of a ring light and an optional diffuser softens harsh shadows and specular reflections. This is especially important for metal objects, glossy plastics, or varnished miniatures, where any change in reflection between photos can hinder the 3D reconstruction process.

The ring light control is usually integrated into the unit itself. software that runs on the Raspberry Piso that the system turns it on or adjusts its intensity in coordination with the image capture, maintaining a fully automated flow.

Software, photogrammetry, and compatible tools

Beneath the entire hardware layer, OpenScan relies on the Photogrammetry as a 3D reconstruction techniqueThe idea is simple: many photos of the object are captured from different angles and a specialized program analyzes these images to generate a point cloud, a mesh and, finally, a textured 3D model.

On the Raspberry Pi side, the project offers Python software and a prepared operating system image, available on Github. This image already includes everything necessary to manage the camera, the motors, the user interface, and communication with the post-processing system.

For the actual reconstruction, several open-source photogrammetry tools are recommended. One of them is VisualSFMwhich is characterized by being quite fast, although in many cases it only generates point clouds without producing complete textured meshes.

Other alternatives are Meshroom and ColmapThese tools allow you to obtain both meshes and textures, but require a PC with a CUDA-compatible GPU to run smoothly. Meshroom has gained the most popularity within the maker community, partly because it remains very active in terms of development and updates. To compare different scanner models and their practical performance, you can consult a... scanner analysis.

The typical workflow involves extracting the photos captured by the Raspberry Pi, importing them into one of these tools, configuring a few parameters, and letting the algorithm do the rest. Depending of the complexity and detail of the objectThe number of photos required can range from several dozen to several hundred.

OpenScanCloud: cloud processing

For those who don't want to struggle with installing heavy photogrammetry software on their own PC, the project offers an additional option called OpenScanCloudIt is a cloud service that processes photos with minimal user intervention.

The idea behind OpenScanCloud is to get closer to a “one-click scan button”You upload the images, the server processes them using tools like Autodesk Forge or other backend solutions, and in the end you get the 3D model ready to download.

This service remains operational thanks to donations and community support. Although processing is free for the user, the author warns that the The number of uses may be limited. and that the continuity of the system depends on the financial support the project receives.

The website features short demonstrations of the entire workflow, from automated capture with OpenScan to the final result after processing in OpenScanCloud. It's a very convenient way to get started with 3D scanning without having to set up complex software on your own computer.

Examples of scans and achievable quality

To get an idea of ​​what OpenScan is capable of, the author shares several examples of real scansAmong them is a 49mm diameter compressor wheel, available on Sketchfab, where a very high level of detail can be seen in the blades and the overall geometry.

You can also see models of a insect scanned in great detailas well as miniatures and other small parts. These examples illustrate well what kind of objects are particularly useful for the OpenScan Mini, where the 8 x 8 x 8 cm range is sufficient.

The project's official website includes a scan gallery with many more cases, which helps to calibrate expectations: very similar results to those of much more expensive commercial scanners can be achieved, provided you are patient with the setup, camera focus and lighting quality.

It is important to note that, as with other photogrammetry methods, the generated models usually require a post-processing to clean up “noise” and unwanted residueThis includes removing artifacts, closing holes, and in some cases, retouching the mesh to make it suitable for 3D printing or simulations.

Camera alternatives: Raspberry Pi, DSLR and smartphone

Although the most popular OpenScan design revolves around the Raspberry Pi with its official cameraThe project also considers other capture options, such as DSLR cameras or even smartphones. In these cases, the structure is adapted to hold the camera on a tripod and, if possible, add a ring light similar to the one used in the Pi version. There are examples where scanning is added directly to mobile phones, such as the scanner integrated into a smartphone.

In some configurations, it was even offered Bluetooth remote shutter control For mobile devices, the smartphone camera could trigger in sync with the scanner's movement. This allows for a similar level of automation, although the integration isn't as seamless as with the Raspberry Pi camera.

There was also an Arduino-based kit within the OpenScan ecosystem, but the author himself indicates that this This version has become obsoleteThe main branch of development is now focused on the Raspberry Pi platform and associated hardware and software improvements.

For users who prefer to go "big," there is always the option of using Photogrammetry without any specific kitSimply by taking photos around a large object with a DSLR and then processing those images with Meshroom or Colmap. However, comparisons like the one in “Making for Motorsport” show that, compared to a dedicated scanner like the CR-Scan Lizard, manual results can be more inconsistent and require a lot of post-processing.

Documentation, community and project evolution

One of OpenScan's strengths is the amount of documentation and public resources Available. The author explicitly links to the latest documentation on Github, which details the assembly of the OpenScan Mini, the organization of the printable files, and all design revisions.

The design of both the scanner and the Pi Shield, as well as other auxiliary components, are hosted in repositories such as OpenScan-Doc and OpenScan-Designas well as on 3D modeling platforms like Thingiverse. This makes it easy for any user to download, modify, and re-share their own versions.

The project creator is very receptive to community feedback. He has been incorporating small design changes In response to feedback, and encourages people to try the “00 Tester” parts on their printer and comment on whether the tolerances work well or need adjustment.

In addition to hardware evolution, several lines of future development are mentioned, such as Raspberry Pi HQ camera support (which is already working, although a suitable macro lens is still being sought) and the incorporation of new software functions, for example, live analysis of image quality, simplification of the user interface or even integrating a touch screen directly into the scanner.

The project also considers expanding the options of cloud processing using services such as Autodesk Forge or other providers, aiming for an increasingly complete ecosystem where the user can go from the physical object to the final digital model with the least possible technical effort.

Costs, available kits and how to get started

For those who want to build an OpenScan without getting too bogged down in finding components, the author offers Complete kits available in the project's official store.These kits include key components such as Nema 17 motors, A4988 drivers, the Pi Shield, the Ringlight, and other elements needed to assemble the basic structure.

A typical OpenScan Classic kit, for example, includes a One 13 Ncm Nema 17, one 40 Ncm Nema 17, two A4988 controllers, and one 12V/2A power supply And, optionally, a Bluetooth trigger for smartphones. In addition, if you choose the Raspberry Pi configuration, you'll need the board itself, an 8MP camera or a compatible Arducam module, and the corresponding ring light.

Prices vary depending on the level of integration. It's mentioned that the easiest way to get started is to buy a base kit starting at around 107 Euroswhile a more complete set —with pre-soldered boards, a Raspberry Pi 3B+ and a 16 MP Arducam camera— can cost around 298 euros including VAT.

Those who prefer to reduce costs can opt for use a DSLR camera or a smartphone You can either use components you already own, thus eliminating the need for a Raspberry Pi, or 3D print all the parts yourself and purchase the electronics separately. The author offers many of these components on his website, with variations depending on cable length and assembly type.

The project is largely funded through the sale of these kits and voluntary contributions, so those who benefit from the designs and documentation are invited to support development through donationsFor example, through platforms like "Buy me a coffee." This helps keep the project alive as new improvements continue to be made.

Overall, OpenScan has established itself as a very powerful option for anyone who wants Build a serious DIY 3D scanner without spending what commercial equipment costsBy combining 3D printed parts, standard electronics, and open-source or cloud-based photogrammetry tools, a flexible, upgradable system is achieved, backed by a community that constantly contributes ideas, scan examples, and improvement proposals.

Related article:
Curatio, a low-cost 3D scanner that you can make yourself