Choosing appropriate camera equipment - Guidance Needed


I have a fairly ambitious project for arduino.

I wish to lower a camera down a hole for inspection purposes. The hole is quite large in both diameter and depth. I would like the camera to be connected at depth via physical connection.i.e. a long cable connecting the camera to a screen at the surface. The long cable will be connected to a distance encoder such that someone on the surface could see the depth of which the camera is at, at any time. The idea is to have four cameras, each with approx 120° to 150° Field of view, arranged in a circle such that the full circumference is captured in video, with plenty of camera overlap. After the inspection, the four videos can be stiched together (at a later time, probably on a PC). I would like only one of the four cameras to send the video to a screen which would be viewed at the surface live during the inspection. Note that the camera may need to go 30m down a hole and the user won't be standing directly over the hole and as such a clear line of site will not be achieved, thus the need for a wired system. Further, the surface will be protected with a steel mesh layer to stop people falling in. If using wireless transmission I would worry that this mesh would interrupt the signal.

What I would like arduino or similar micro controller to do:

a. Turn four (4) cameras on. b. turn them all to record mode Within a few milli seconds of each other. c. i. Overlay distance, orientation (from magnetometer) on video display, possible along the lines of ii.Save the distance encoder information and record it to a txt or csv file with time stamp, distace and orientation (From magnetometer). The distance encoder will provide information on how far the setup is down the hole or from a reference/zero point. d. rotation control via a motor. The equipment will be lowered down a hole with either set of three wires/cables in a triangluar shape or a single central point (Centre of mass, not geometrical centre). If the setup wants to start rotating, the motor will be engaged. The idea is to resist rotation (i.e. by rotating the motor to provide an equal and opposite reaction to the rig).

My question/required guidance is regarding the cameras to be used for such a project.

I've got an arducam, however it's frame rate is too low for this application. I need some video with at least 30 fps.

I've done some reading on FPV cameras, however they are all wireless.

Not sure which type of camera is suitable.

If you have any recommendations, please let me know.

Thank you.

An Arduino is much too slow to handle video signals, or even still images with any sort of decent resolution.

An Arduino could be used to monitor the encoder to keep track of depth and (depending on the type of camera) it might be able to switch the camera on and off, or trigger the taking of a still image. The problem is how might the Arduino interface with the camera.

Super-imposing data from the Arduino onto the film at a later date is well beyond my knowledge. I guess if the Arduino data has real-time-clock data associated with each measurement there may be a way to sync that with similar data on the video file.

I wonder would it be easier to have a fifth camera recording the image on a display that is updated by the Arduino. It's a bit of a Heath-Robinson (Rube Goldberg) solution but it may allow you to use the same process that you are using to mix the images from the other 4 cameras.


You may be better off employing a Raspberry Pi for this application. It can certainly handle live video (depending on the resolution) and do such time overlays. The Pi can of course also start the video streams and do other tasks.