Creating a Photogrammetry Device (Using the Arducam Mini Multi-Camera Adapter)


I admit that I am a novice at this (especially in regards to coding), but I have done some simpler Arduino projects in the past. Dealing with motors and designing small toys.

I would like to create a photogrammetry device that (unlike several others it seems) the object itself stays idle and the cameras rotate. For the motor, I wanted a smooth transition and a less noisy motor so decided to use the "NEMA 17 stepper motor." For the cameras (4 in total), I was planning to use the "Arducam Mini Multi-Camera Adapter Board" that allows you to take still shots simultaneously. There are 4 "Arducam Mini Module Camera Shield with OV2640 2 Megapixels Lens" that I have attached to the adapter board. My plan was to store the images to an SD card before rotating and taking the next set. Hopefully obtaining ~80 images in total.

I feel that I am able to piece together a means in which to stop and start the motor (in regard to coding). My dilemma is with how to successfully go about taking an image on all 4 cameras. I do not have much experience in regard to operating and coding these cameras. I was able to get the cameras to work using ArduCam, but had to do it manually. I would like to code this device so that it takes the pictures and moves the motors automatically, once it is turned on.

I'd greatly appreciate any advice that you may have to offer or references you could refer me to. As I mentioned, my biggest problem (I believe) is coding all 4 cameras to take a picture and save it to an SD card. Thank you very much for your help and please let me know if there is any additional information you may need to help out with this.


Welcome to the forum

Can you please provide links to non-Arduino components datasheets and documentation? This will allow people to think about solutions rather than searching for information you already have or should have.

Please also read the How to get the best out of this forum for other information that people might find useful to help you.

Good posts tend to get more attention and better answers.

Sounds like a cool project. :slight_smile:

Thank you. I guess I could be more specific. I swear I did read the "How to get the best..." forum and I know that this may all appear to be a complete mess. It is just that I do not know enough to adequately state what I do not know. Which is why if I am not posting this the best way, I am more than happy with ANY information you can provide.

Here are some links related to the components I mentioned:

This is the overall concept I was going for (except with multiple mini cameras and the NEMA 17 motor):

This was a useful website for "4CAM VideoStreaming", but not the "still shots" that I was hoping for:

Basic Hardware (excluding Arduino):

"Arducam Mini Multi-Camera Adapter Board"

"Arducam Mini Module Camera Shield with OV2640 2 Megapixels Lens"

"17 NEMA Stepper Motor"

In the most simple way I can state it, I have a 200 step/rev motor and I want to be able to have the 4 cameras take a picture every 10 steps to obtain 80 pics ((200 steps / 10 steps) * 4 cameras = 80 pics). So every 18 degrees, I wanted to program the arduino to simultaneously take a picture using these cameras and save them to the SD card.

Divide the project into smaller parts.
One could be mastering a stepper.
Second could be mastering the SD card, writing to it.
Third could be transmitting a pic from a camera.
Don't try to hook up all the parts and then start coding.
Fault finding, debugging will be like finding a needle in a hay stack.

I scanned the documentation a bit. Thank you for the links.

I agree with Railroader you will need to divide this into small steps and improve your skills. The library is not the best type of code. It uses a lot of low level coding without explanation e.g. writing to registers and delay(). This is not a good sign. I still believe with a bit of determination; help from the forum and time you could get something to work. There are many examples in the Github repository which will likely help you understand what you need to do.

However, my gut feeling tells me you will not get a lot of advantage by having 4 cameras. It looks like the Arduino will need to transfer the data from each camera to a SD card. So, unless you have an Arduino with multiple SPI ports (5 would likely be a good choice), a high processor speed or you make use of DMA you will not get a lot of speed up.
You might as well use one camera and move it all the way around the object.

You could also start with one camera, Arduino and SD card, get them to work and then create four nearly identical copies (without motor code). The master would move the motor and then trigger all 3 slaves to take the picture and store it on a their separate SD card.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.