Updated
8 days
ago.
2 hacker ♥️.
2 followers.
Has no hacker:
grab it!
Description
I want to see how fast I can develop a single-camera (pi camera module v3) rig with a stepper motor controlling a turntable that rotates the model being scanned. The trick here is not to be super fancy with 100's of sensors and data inputs, quite the opposite. I want to see how accurate I can scan objects into 3D-printable models using only a camera and as many fixed and known parameters as possible.
Speed to be augmented with agentic AI coding companion. As it stands, I have a 3D printer, pretty much all the electronics I need.
Goals
- Design and print working/workable camera rig
- Design and print working/workable turntable (considering printing my own cylinder-style bearings as well)
- Assemble rig components into MVP assembly
- Develop application that can hook into existing tools, or leverage a library like openCV, to process 2D images into a 3D model.
- Iterate until models are good enough to 3D print.
Resources
- https://www.instructables.com/3D-scanning-Photogrammetry-with-a-rotating-platfor/
- https://www.instructables.com/3d-Scan-Anything-Using-Just-a-Camera/
- https://www.instructables.com/Build-a-DIY-Desktop-3d-Scanner-With-Infinite-Resol/
- https://www.instructables.com/3D-Laser-Scanning-DIY/
No Hackers yet
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 25
Activity
Comments
-
3 days ago by lparkin | Reply
Update end of day 1
What was done
I chose 3D CAD design + prototyping as my starting point for the motor and pulley housing:
- Did 3 iterations of the base design, need to do 1 or two more.
- Designed and printed turntable surface and base
- Designed and printed bushes to fit the 8mm inner-diameter bearings onto 5mm threaded rod.
- Loaded raspberry pi OS onto my pi zero 2 WH.
- Started experimenting with stepper motor code in Python (can currently rotate small pulley any number of degrees as input from the command line.
What's Next?
- Iterate once more on base design to allow about 2mm of additional space to allow easy fitting of the belt onto the pulleys.
- Design pi + camera housing (figure out what distance from center of turntable to camera will be optimal).
- Design structure to hold pi + camera at the desired height and angle.
- Connect everything and start mapping the digital design parameters:
- How many degrees on small pulley = how many degrees of rotation on turntable.
- How many photos to take, how many stops along the way.
- How to process the images. (on pi or off pi, on a device with more computational strength).
-
2 days ago by lparkin | Reply
Update end of day 2
What was done
- Turntable design, printing, and assembly completed.
- Dummy code flow to rotate stepper according to a config file + take a photo at each stop implemented.
- Pi cam housing design iteration 1 and 2 done, to be tested.
- First iteration camera stand and mount designed, to be printed.
-
about 18 hours ago by lparkin | Reply
Update end of day 3
What was done
- The design for the camera housing reached a point of usability
- The camera stand (iteration 1) was designed and printed
- The first round scan images were captured
- Attempts to process the scanned images using colmap failed dismally, for various reasons:
- My work laptop doesn't have a discrete Nvidia GPU (colmap requires Cuda)
- Processing without a GPU produced a .ply mesh file that didn't even remotely resemble the model I scanned.
- Determined to switch to Meshroom, but it is a 19-ish GB download, and the site limits bandwidth to around 500Kbps, so the download wasn't finished by EOB.
Similar Projects
This project is one of its kind!