In the following sections, the OpenScan project is outlined. It is important to understand the background and the bumpy ride that brought us here in order to lay a foundation for future developments
Back in 2017, I was looking for an accessible 3D scanning solution and quickly realised, that there was none. All existing solutions either came with a hefty price tag or were not able to create decent 3D scans.
I stumbled upon photogrammetry as a very powerful tool and played around with it as it only requires a camera. Refining the lighting and capture settings, I was able to get very decent scans. When I was able to copy both my mailbox as well as my "security" home key, I realized that photogrammetry can yield great results.
Being a lazy person, I started to automate the process using an Arduino Nano, which was tilting and rotating the object. Adding a ringlight to the camera for better lighting and most of the capture process was automated. It is important to state, that I had NO background in electronics, programming or community management. Every of those skills (and many others) needed to evolve during the development process.
Nothing would have been possible without the immense support and contribution from the very open-minded community. Having so many useful resources publicly available has always been a major cornerstone of the project. For this and many other reasons, being open-source is a core value of the project. Becoming able to contribute to the open-source movement is such an amazing honor!
In 2019, I changed the plattform in favor of the Raspberry Pi. This step came with new challenges but also a lot of new options to increase the scanners capabilities. My main goal was to automate and simplify as much of the photogrammetry capture process as much as possible - maybe even create a one-click-3d-scanning-solution.
In 2021, the optional OpenScan Cloud was launched. This lowered the entry barrier even further, as many users either did not want or could not do the processing locally (as this always requires some software knowledge as well as a capable computer). Thanks to the support through Patreon & BuyMeACoffee, the OpenScan Cloud maintains its state till today.
Early 2022 Arducam released their 16mp IMX519 camera with focus control. This allowed an even finer control of the scanning process. Adding focus stacking to the process increased the quality of the resulting 3D models even further. To this point, the OpenScan project grew on various channels and reached people in over 70 countries.
Unfortunately, the evolution of the project created an almost unmanageable pile of documents/codes/files across various platforms and github repositories. There have been several attempts of restructuring and reorganizing the whole structure, but by this point, the sheer amount of data has been totally overwhelming for me. Producing and distributing scanner kits as a business brought its own amount of challenges (customer support, accounting, production, delivery bottlenecks, legal issues ...). By this time, i felt almost incapable of further developing the project and almost abandonned it completely.
Fortunately, there have been several idealistic and very eager community members (especially on the OpenScan Discord), which not only welcomed new OpenScan users and patiently helped with all the existing and known issues of the system. But they also started several community developments, which solved many of the existing hardware and software issues.
great | not so great |
---|---|
- modularity - wide user base across all continents - used for archeology, dental, research, creation of gaming assets, reverse engineering, miniatures - the only open-source and low-cost 3D scanning solution - high quality 3D models - a lot of potential - great understanding of the underlying principles and available knowledge |
- disconnect between official and community - many (known) issues in the offical versions --> bad user experience - relatively high effort needed to get started - scattered and outdated documentation - no organizational structure - no structure for contribution and appreciation thereof |
OpenScan Mini V1 | OpenScan Classic | OpenScan Mini V2 | OpenScan Midi | |
---|---|---|---|---|
state | official | official | community | community |
more details | github | github | github | github |
Official Firmware | "Patreon Beta" | OpenScan Meanwhile | OpenScan Composer | |
---|---|---|---|---|
state | official | partly official | community | community |
more details | github | patreon (free) | github roadmap |
OpenScanComposer.com |
Channel | Focus |
---|---|
Discord | - community support - coordination of development |
OpenScan.eu | - official website - entry point for most new users |
reddit/r/OpenScan | - community support - show and tell |
There are two core components:
- The pi shield directly connects on top of the Raspberry Pi and is used to interfer with the motors, camera and lighting.
- The ringlight module for standard pi camera form factor cameras allows for optimal illumination.
It is noteworthy, that these two PCBs are not strictly necessary to build a 3D scanner, but greatly simplifies the overall process.
Green Shield (pre-soldered) | Green Shield (solder yourself) | Black Shield | 4 Axis Shield | |
---|---|---|---|---|
state | official | official | community | unpublished |
more details | link | link | link | link |
The OpenScanCloud is a free and donation-based online photogrammetry processing pipeline with increasing popularity. Its simplicity (one-click) allows users to avoid the need for local processing power and knowledge of a dedicated software. It is solely financed through Patreon donations and there will never be any kind of monetization crippling its functionality!
- automated focus stacking (though it is not documented at all), when using the openscan firmware
- ~0.5TB of Data per month
- minor issues with data transmission
- hard limitation to 2GB max filesize
- manual access token creation and user management
- missing documentation
- rudimentary windows uploader and python script
An approach to create a recognizable benchmark for small object 3d scanners. Details on github