Building your own 3D scanner out of off-the-shelf parts

So you have an animation and simulation project, and want to scan people to get their high-resolution 3D meshes. At that point you have wide variety of different options based on different capture technologies, big bulky machines, hand-held devices and scanners that can take quite a while to obtain a scan. So what do you do when you don’t necessarily have a lot of permanent space, when you ideally want to obtain a scan in a single shot, and you want to do all that on a budget? Well, you build your own solution of course.

You visit your local camera vendor, and empty their basket of 64 Canon Powershot A1400 cameras, which should suffice to build 8 portable 3D scanning poles. Throw in a significant amount of USB cables, add some USB hubs, grab some wood and hardware from your local DIY store, add some bright LED strip for lighting, and you have all the ingredients necessary to build your own scanner.


Being the efficient people that we are, the idea of having to charge and replace the batteries for 64 individual cameras at each session did not sound like the most effective solution. So external power it is. Unfortunately the official adapter comes at a cost. And with us not being all that patient when it comes to seeing results of our labour, an ordering time of several weeks made us wonder “If we’re building the whole thing ourselves, surely we can make our own external power supplies as well”. And as soon as we have such thoughts, a “battery” assembly line springs to life, wiring up the wooden batteries and soldering the power-supply connectors.

The construction:

3D body scanner based on 64 canon A1400























On the software side the Canon Hack Development Kit (CHDK) allows us to control all 64 cameras using custom scripts. With all cameras pretty much synchronized, we don’t have to worry too much about minor movements of the scanned subject, as long as the shutter time is fairly short. The actual capture process has completed in the blink of an eye. Processing the captured images into a 3D mesh and a clean texture uses Agisoft PhotoScan software, and requires only minimal manual tweaks. For animation some additional cleanup and remeshing might be necessary in other software, but the raw results obtained are already very detailed and usable.

And there you have it. Eight very portable and storable scanning poles, allowing us to capture bodies or objects at a sufficiently high resolution and in a short time.

The first results:



Tags: , , , ,

  1. Alex’s avatar

    Looks great! i wonder – have you tried doing animation with this rig, shooting video with each camera?


  2. Haellmigk Silvia’s avatar

    I appreciated seeing every member of the team working on the common projet.
    Very good demonstration and explanation.
    Keep on.
    I wish you a lot of success.


    1. Caecilia’s avatar

      Thank you! If you want to be scanned one day… let us know!


    2. Ali’s avatar

      What’s the polycount for full body? Does the scanner output require cleanup?

      Would be very interested in a longer write-up!


    3. eytan’s avatar

      Hello, Great job!

      I got some questions to you guys, I hope you can share some data as I want to build the same thing.

      1. What is the height of the poles? is it equal between all poles?
      2, Does all cameras on all poles located on the pole at the same height? if not, can you please share the heights?
      3. Do I need to install LED Light on each pole? Can you be more specific on what type of light do I need to purchase?

      Would appreciate if you can asist.



      1. Bart Kevelham’s avatar

        1. The poles are (including the base) a bit over 2 meters high.
        2. The cameras are equally spaced over the length of the pole and each pole is the same.
        3. We have a single LED strip on each pole over the full length. Ideally you would most likely want something a bit more diffuse, but it works as is.


        1. Zaheed Husseini’s avatar

          Thanks for the enlightenment about this. I will be glad to have your email as this article is a little old and you might not feel interested in replying. I will be like be so happy to have a comprehensive knowledge on 3D scanning. I wish to setup something like this soon. Thank you.


        2. Martin Spriggs’s avatar

          I was wondering how you actually get the pictures out of the cameras. Are you able to pull them across to a central location over USB? If you do does that not interfere with the CHDK USB power function that I assume you use to trigger the cameras?

          Sorry about all the questions but I have just order a bunch of these cameras to try and put together a similar setup 🙂


        3. Matt’s avatar

          This is great. I’ve been working on something very similar with Canon A1200 cameras. I’d love to share ideas over e-mail as I have the capture and image transfer really streamlined and wouldn’t mind sharing my scripts. It’s also nice just knowing like minded people. My end game is to use my Oculus Rift to view these scans, which I see you guys are dabbling with too.

          My current workflow is to use the ptpcam tool to first set the camera’s internal clocks using memory register d034 (not sure what A1400 uses but it’s easy to hunt around for it). Then I have a chdk script to focus on 5 volt up on the USB port and if the voltage drops within 10 seconds the shutter snaps (it’s on a 5ms poll, so the shutters are reasonably in sync). Since my clocks are synchronized I can take many sets of images in a session and not worry about getting them mixed up. If I leave the 5 volt up for more than 10 seconds I have the cameras go into file transfer mode and I have some Perl scripts to download the files into timestamped set folders. I have scripts to wipe the cameras clean, shutdown, etc. Basically a good workflow was what I could work on with limited cameras. The only thing I am not sure of is how many cameras my PC can drive. I currently only have 7 but there’s really no reason I couldn’t just transfer the images in batches I guess (10 at a time or whatever).

          I’m really curious to know if you’re using the same technique as me or if you have something better. Your idea for cameras on pole modules is great. I was making 3 foot wide multi tiered bars. I like yours better because you could theoretically add more poles to image a bigger subject.

          Something else that you may want to consider is mounting the cameras in portrait mode, since I found that landscape wasted a lot of the sensor.

          Best regards,


          1. jeff’s avatar


            I would appreciate if we can chat little regarding your setup , I could use some advice
            my skype : noamsheffi



          2. Michael’s avatar

            Hey Matt – I would like to see your set up and scripts if you don’t mind. I find this very interesting and would like to do a similar set up. email –


          3. Sunny Ho’s avatar

            Hi Matt,

            I am targeting to make stereo cam.
            Would you share your setup for the usb voltage and the script to me?

            how many camera did you used finally?

            my email:



          4. me’s avatar

            Hi Matt,

            You did programmed my dream rig scripts, I also use Canon A1200. Just I’m not as good as you with programming script. I’m only using CHDK USB remote control for my 62 cameras. then you certainly imagine how long it takes me to take out every SD card and download them one by one. Is there any way you could share your script with me?

            hope to talk to you soon

            Here is my email address

            best regards,


            1. artanim’s avatar

              Our current script is very close from the latest multicam.lua which now supports USB remote and download of images. Check it out here: and here


            2. bharath’s avatar

              Hi matt..
              Can we discuss more about the same… I am really interested to build one myself… eagerly awaiting your reply…
              I want to discuss further… my Skype : ysbharath


            3. Peter’s avatar

              Great scanner
              How do you save the photos from each camera?
              Isn’t that a problem.
              I didn’t find a solution.




            4. Steven Van Mulders’s avatar

              Great work!

              Is there any chance of releasing the chdk script to get it working.
              Would be very interested in this.


            5. David B Silverman’s avatar

              Awesome setup guys!

              I spotted this in my research to build a much smaller desktop rig using A1400s to capture models for our game Rustclad. Any chance you’d be willing to share the scripts you created?


            6. Mphx’s avatar

              Hey guys , i am gonna set up a similar rig and i was wondering if its possible to share the chdk scripts so i can have a starting point ..


            7. Daveed’s avatar

              You posted a requested for information on the CHDK forum and in that thread a member asked for details of your changes to the Multicam script :-


              Unfortunately, no reply was received.
              In fact, no-one with a multicam setup that uses the multicam script has posted the details, despite promising to do so in some instances.

              Are you publishing the script ?


            8. Marcus Milne’s avatar

              Great setup! What hubs are you using? I’ve tried this with some cheap powered hubs from eBay and I couldn’t get more than 10 cameras recognised. I was using a Surface Pro but I thought it should be able to handle 127 USB devices if they are powered, tho I could be wrong


            9. Jason Holutiak’s avatar

              Hey this is great work!

              I was wondering if you would make a set of the photos available to anyone? We are currently looking into creating a rig like this one, we currently have one camera and a turntable but the results are not great.

              Before dropping a bunch of money on something like this we would love to be able to test it so we felt better about the investment.

              You can contact me through email or skype jholutiak216


              Jason Holutiak


            10. fernando palacio’s avatar

              Hi bart, fantastic project, i would like to do anything similar , could send me any other info about the project, are you going to do the code public?

              Do you think that if perhaps make any similar with a rotary could be as good as yours??

              best regards, feel free to contact me al




            11. Khumo’s avatar

              Great stuff..l have toying with this concept for a while, its amazing someone has set it up! Havent you thought of packaging and selling it as a complete product? l would love to have one of these


            12. caiz’s avatar

              Hi , very nice work!!!
              and i would like to do something similar too ,so could you send me some info about the project, what i have is powershot sx150is .

              best regards



            13. Eric Pearce’s avatar

              Very interesting and I am glad it worked out well for you and your organization. I was hoping for some theorizing upon the product if you have a moment. I understand the usage of 64 Canon Powershot A1400 and that generated up to 1064 MB at maximum in camera capabilities. You might have changed the internal recording to RAW through the CHDK program but that was not clarified. I think I understand the following truths about your concept; the A1400 has 28mm Wide-Angle Lens, you set then .25 meters high, the total diameter appear to be 2 meter. So each photo would cover 0.29 meters at f/22? So each photo only overlapped .02 meters of another photo? Did I get it right? So the question is “are the Megapixels that important”? The new Raspberry Pi cameras are easier to set up and cost less per unit at $35. They only shoot at 5MP but the field of view is better so more coverage of the target area. It the 1064 MB resolution file is required then on would need 213 cameras (likely cost at $27 (USD) per camera would cost $5751 USD instead of your camera cost of ($142 USD x 64) $9088 USD. The PI camera system would cost less if MP were not as important and coverage was more important. Did you decide Canons were better than PI? Any thought would be helpful. Eric


            14. Bob’s avatar

              Impressive work. Nice design too.
              I read that you modified the standard chdk scripts but it’s not clear what you needed to change or why. If you could share that info it would be helpful. Have you made the scripts available?

              Also, I’m having difficulty locating wholesale lots of cameras. The Canon website has refurbished cameras, but it is hit or miss with availability. If I wanted to test a few cameras first, there is no guarantee that there will be another 60 or so available.

              Do you have any thoughts on what the minimum number of cameras is to get good results? I’ve seen setups with 100 cameras but it’s not clear (pun intended) that it makes any difference.

              Thanks for sharing your work. It’s impressive.


            15. David’s avatar

              Hi there,

              we are working on a similar system, also using CHDK. We have faced a big problem regarding the focus. We can not set the cameras to center focus. These cheap Canon cameras we have are always try to find the face of the model, so a lot of pictures are badly focussed.

              Did you have also issues like this? How did you solve this issue?




            16. Aaron’s avatar

              Hi all,
              Would the canon ixus 155 or the Canon IXUS 145 be a good camera for this setup?



            17. Pratik’s avatar

              nice concept!

              But how to focus all the cameras ??

              is it possible using CHDK for all cameras at a time??




            18. KeithFromCanada’s avatar

              For all those wondering how to get everything in focus, here are some links to get you started figuring it out with CHDK, including focus stacking:



            19. romanmp89’s avatar

              Hi guys, this is very interesant!! I just read this now and I have a few questions that I’m sure lot of people that read this asked himselfs: (sorry about my regular english)
              -This can scan a group of 4-5 persons? If not, 2 or 3?
              -All the cameras are paralel to the poles or there are some cameras with another angle?
              -I have to calibrate this every time I mount the 3d scanner? Because I’m planning to use this at diferent events.
              -I can use this at outdoors without anything else? If not, can imporvise an outdoor “3d zone” putting white walls arround?
              -All the cameras are conected whith hubs to one pc?

              Thank you!!


            20. Rick Rude’s avatar

              I am very interested in duplicating your project. Is there any chance of getting a parts list? Also wondering about the battery assembly. I see you used screws, but did you solder the wires to the screws? Any info you could pass along would be very much appreciated.


            21. Vilem Duha’s avatar

              Hello, I was surprised with this project in 2 ways:
              The fact that you can build with cheap cameras is great.
              The quality is very poor on the initial sample. Did you manage to get better results later?
              compared to this solution:
              where only 5Mpx cameras are used, your result is a bit worse, even when the res of the cameras is much higher.
              Can you still give some info, even if this is an old project?


            22. Dr Abhay Daga’s avatar

              I am very interested in duplicating your project. Is there any chance of getting a parts list? Also wondering about the battery assembly. I see you used screws, but did you solder the wires to the screws? Any info you could pass along would be very much appreciated.


            23. Ekaterina’s avatar

              Hello everyone,

              Article is awesome, to apply I nee more details! 🙂
              I would like to build my own scanner and later 3D printer and plastic fil extruder at a minimum cost.

              I understand only that it is possible for a moment, but have no idea how to make it in real.I just finished my study, and would like to become a pro in this area one day.

              I would love to communicate with someone who can share his/her experience or give the advice.
              I’m in France now by the way.

              Please, write me here:



Your email address will not be published. Required fields are marked *