Building A Raspberry Pi Based 3D Photometric Capture Cage

Last month my friend Ari Shapiro (ICT) asked me if I would like to build a portable version of the Raspberry Pi based capture cage for a research conference. Heck Yeah I would! The original physical design is based on the pi3dscan system from a group called 3dmij in the Netherlands, but this one needed to be portable and would use newer generation Raspberry pi’s.

The system uses 104 Raspberry pis, with 100 of them containing cameras and the other 4 connected to projectors to cast patterns on the subject for more accurate geometry detection. The cage will be using the newer Raspberry Pi 3 Model B.

The newer Raspberry Pi 3 Model B had to be configured from scratch, as disc image from the B+ Pi’s wouldn’t boot on this device. I used the latest stable version of Raspbian (4.4). A few of the startup scripts had to be changed due to the newer method of setting a static ip.  The new dhcpcd daemon is  bit different from any linux based system I’ve seen. The startup script reads a text file from a top level windows accessible directory on the memory card and sets the IP on boot.


To make the unit portable and simple, yet still affordable, I made several changes to the design. First was the mounting of the pi’s and cameras. The test setup used a custom 3D printed holder for the camera and exposed Pi board:


However, the pi board needed more protection and the camera needed more flexibility in adjustment. I came up with this design using the default pi case, a universal camera ball mount and a bolt:


I ended up hot gluing the camera directly to the case. It worked great!


I also needed to simplify the power delivery to the pi’s. The original design called for the use of an external power supply to to be mounted near each of the three switches and then use two spare lines in the ethernet cable to transmit the DC 5 volts to the Pi.

Cool idea but who wants to strip 108 cables like this! Not me!

No need for this when you have high wattage POE switches available.


I used three Netgear GS752TP POE switches (High wattage version) mounted into a shock case along with readily available USB mini 5V POE splitters to create a much cleaner and simple method to power the pi’s. I was a little worried that the switch wouldn’t handle the load but there were no issues during testing.

Load testing the POE switches.
Load testing the POE switches.

Loading software and assembling all those Pi’s was quite a task. My son River helped me out here.

The next issue is mounting. The present design used two layers of wood in an oval pattern with a threaded flange bases, metal inserts, small non collapsable poles and some plastic tubing to hold it all together. This setup needed to ship in 3′ containers, so we needed to go with collapsible posts and a lighter/smaller base system. I took the CAD files from the original design and removed one layer, moved the joints to more appropriate locations, created equal camera pole spacing and added independent mounts for the lights.

New Baseplate system.
New Baseplate system.

I’ve been looking for an excuse to learn CAD for a while, so this was a great opportunity! I can definitely handle 2D drawings for cutaways now. I’ll have to do something in 3D soon in CAD too.

My friend Brent at the Toy Shop suggested using speedrail mounts. They worked out very well. However, the cad files from McMaster-Carr were off scale.


I had the aluminum plates water jetted locally. They were beautiful!


Here are the poles and plates being mounted for testing..


Since all the switches were located in one location, I had to make some cable assemblies of various lengths. Needless to say I got pretty fast at terminating Cat6.


A couple of test scans…



And the (nearly) finished product. Notice the LED strips have their own stands. We also added some overhead cameras to better capture the top of the head. It all worked out nicely! The entire system packed nicely into about 5 pelican cases and is ready for the road!


Please feel free to contact me if you would like the updated CAD files or other information on this customized version.