Thomas Megel's Multi-Camera 3D Scanner Puts Raspberry Pi Zero 2W-Powered Camera Nodes to Work

11 cameras, with a view to scaling to 100 or more, communicate with a central Raspberry Pi 4 Model B to capture simultaneous shots.

Thomas Megel, founder of the Open Scan project to turn a Raspberry Pi and connected camera into a low-cost photogrammetric 3D scanning system, has unveiled a "side project:" a multi-camera 3D scanning rig powered by 11 Raspberry Pi Zero 2s under the watchful eye of a Raspberry Pi 4 Model B.

"Over the last weeks I got a little bit side-tracked by a request of developing a stationary rig with multiple cameras (this has been on my to-do/wish list for quite some time)," Megel explains of the project. "I opted for the Raspberry Pi Zero 2 + [Sony] IMX519 (16 [megapixel]) cameras. In the process, I needed a custom main PCB, supporting up to 50+ (probably 100+) camera nodes via USB [Type]-C connections."

Thomas Megel's latest 3D scanning setup (top) uses 11 home-brew smart cameras (above), each driven by its own Raspberry Pi Zero 2W. (📷: Thomas Megel)

Megel's scanner is built around a single Raspberry Pi 4 Model B 2GB single-board computer, a last-generation model that has only a single MIPI Camera Serial Interface (CSI) input. While you could get a few more cameras attached via USB, you'd soon run into bandwidth constraints — yet the current version of the scanner puts a total of 11 camera modules in a rigid framework pointing at the object to be scanned.

The trick: each camera is its own independent system, created by combining the camera modules with a Raspberry Pi Zero 2W. A custom PCB provides power to every board in the rig, with peak power draw measured at 30W, with the cameras communicating over Wi-Fi. "Each node runs a tiny FastAPI service and listens for UDP broadcast triggers (alternative triggering via GPIO [General-Purpose Input/Output] through USB [Type]-C would also work) — so all cameras fire as close to simultaneously as possible," Megel says.

The cameras communicate via Wi-Fi with a controlling Raspberry Pi 4 Model B 2GB. (📷: Thomas Megel)

"Initial testing shows a variation within ±5ms," Megel says of the setup's performance. "The master handles discovery automatically via mDNS, so plugging in a new node just works easily. A web dashboard ties it all together for live previews, camera settings, and file management."

While the current build is relatively small-scale, Megel has plans to scale it up to a size capable of scanning an adult human — though increasing the number of cameras will soon saturate the available Wi-Fi bandwidth, meaning an alternative communication system may be required.

More information is available in Megel's Reddit post.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles