
OpenScan3: Task System Introduction
This post introduces the OpenScan3 task system and explains how it improves long-running workflows, interface feedback, and extensibility.

This post introduces the OpenScan3 task system and explains how it improves long-running workflows, interface feedback, and extensibility.

OpenScan3 replaces OpenScan2’s “delay tuning” with a simple motion model: max_speed and acceleration . This post explains the new mental model (trapezoid vs triangle profiles) and gives a practical tuning guide to get smooth, reliable motor movement across devices.

It’s been a long standing idea to get myself a modular multi-camera system based on the Raspberry Pi + IMX519. I took a couple of smaller attempts getting into this subject and doing some initial t...

This post explains how OpenScan3 represents camera viewpoints using two angles (φ and θ) instead of (x, y, z), and how those angles map directly to the OpenScan Mini and OpenScan Classic.

TL;DR: We handle the US tariffs for you! We'll update this post regularly.

This post explains how OpenScan3 separates Projects and Scans to support multi-pass scanning, flexible capture strategies, and automation-friendly workflows.

An overview of the architecture behind the OpenScan3 firmware, explaining core design decisions, abstractions and how different parts of the system fit together.

Recap of 2025 Intro 2025 has been quite a ride. It has been almost eight years since I started tinkering with 3D scanning, initially just trying to understand how photogrammetry works and how fa...

TL;DR: We tested the OpenScan Mini to determine how shutter speed impacts 3D reconstruction quality. We found photogrammetry is surprisingly robust to exposure variations. In our test, there’s a w...

TL;DR: Is more always better? When it comes to photogrammetry, the clear answer is no! We performed tests, which align with our experience, showing that there is an optimal number of images for tur...