things i build

3D object scanner

The idea was to build a device into which we put an object, press a button, wait a while, and receive a digitalized 3D model of the object.We used a set of 3 cheap webcams and 3 line laser pointers.When the laser turned on, the corresponding camera took a photo.Assuming the room is dark, the laser line is visible in the photo and is curved by the object.After some trigonometric calculations, we estimated the 3D coordinates of the scanned object.

Tech: Python, Raspberry Pi, Autodesk Fusion 360, 3D printing
Tags: 3D scanning, 3D printing, CoderDojo

When I was 15, we built a 3D scanning device with my friends. Here’s a note to document the journey a little.

Scanning
Scanning process from the inside.

Building

We used a set of 3 cheap webcams and 3 line laser pointers. When the laser turned on, the corresponding camera took a photo. Assuming the room is dark, the laser line is visible in the photo and is curved by the object. After some trigonometric calculations, we estimated the 3D coordinates of the scanned object.

This sequence was repeated for each camera/laser pair, and then the stepper rotated the plate with the object by a defined angle. At the end of the scan, we resulted in a list of points in a cylindrical coordinate system.

Darkness

Keeping the room dark was a problem. We decided to build a black box and keep the object inside. The requirements were to:

We used Autodesk Fusion 360 to design the housing and commissioned to make most of the parts from plexiglass.

Scanning Scanning Scanning
Renders of the scanner.

Results

They were more or less accurate, depending on the object’s gloss, camera quality, and physical imperfections. But overall, the approach worked.

To visualize the results, I wrote a very slow Python script for converting point clouds to gifs. It’s available on here.

Scanning
3D scan of a bag. Glossy surfaces cause the visible artifacts.
Scanning
3D scan of a matt can.
Scanning
3D scan of a the first Marshal of Poland figure.

Community

Everything started in Coder Dojo Gliwice, Poland - a computer science club where young teenagers were able to contribute to team projects and learn some programming skills. It was the first hacking organization I joined.

Once a year, all Coder Dojos from Poland met in a single place, which was called the SuperDojo conference. During SuperDojo 2017, an idea came to build a device that is able to scan small 3D objects. So the project began.

As of 2025, CoderDojo is a part of Code Club by Raspberry Pi Foundation.

After some time, I really admired the community and space created for young creative people. It was quite difficult for me to find such a place when I was a teenager.