I started this project, in part, to better understand the factors involved in modern digital video camera design and manufacture; knowing in advance that this motivation would likely lead to some significant pivots along the way. For the past week, I’ve been a bit hung up on a couple of aspects, and having yesterday decided on an approach, it seems worthwhile to document the barriers and solutions.
There are two big factors in deploying a sensor and lens combination that arose problematically this week.
The first is that every imaging lens (whether solitary or compound) has a backfocus distance. -The distance from the back of the lens nearest to the plane at which it focuses. In compound lenses for video/film, the mount standards (such as C-Mount and D-Mount) include a requirement that the lens “flange,” be a fixed distance from the sensor/film-plane. A D-Mount lens has a flange-to-sensor focal distance 12.29 mm, while a C-Mount has a flange-to-sensor focal distance of 17.526mm.
Historically, D-Mount lenses were most often used on “regular 8” motion picture cameras, while C-Mount lenses were used on 16mm motion picture cameras, and now on smaller sensor digital video cameras.
Both C and D-mount lenses can provide a large enough image circle to cover the sensors used in action cameras, which tend to measure ~1/3″. The 8mm Regular film frame with which D-Mounts were used was 6.11 mm diagonal. The sensor used in the Yi 4k camera I’ve been working with is a Sony IMX 377, measuring 1/2.3″.
The distance from the front of the Yi to the sensor is ~17mm. I really haven”t been able to figure out a clever way to shorten that distance to the 12.29mm that the D-Mount lenses require. Obviously, on some of the lenses, it’s possible to basically get an image on the sensor, but focusing from the wrong distance makes them super-macro, and not really useful. I had hoped that I’d either be able to move the sensor forward, or get the lenses far enough into the body of the camera to work, but that’s not really viable without more significant modification than I think I can reliably execute.
So, we come to the first part of the fork. I want to use the Yi, and I clearly cannot use the D-Mount lenses I have on hand. Hence, I’ve ordered a C-Mount lens on Ebay, that should be here by the end of the week. C-Mount lenses having a flange-to-sensor distance of 17.526mm are pretty ideal for this usage. That’s likely why everyone designs their action camera modifications for them. What I’ve learned in this is that action camera modifications are sort of cake, and pretty overpriced for what they actually do.
A downside of making a lens mount on the Yi for C-Mount lenses is that while D-Mount lenses have a thread diameter of 15.88 mm (0.625 inch) and a mount thread pitch of 32 TPI, C-Mount lenses have a thread diameter of 1 inch (25.4 mm) in diameter, with 32 TPI. I have taps for the former, but not that latter, and 1″ taps are more expensive than I want to spend for that aspect of this project. Fortunately, I hadn’t yet really made up my mind whether to tap the thread, or add a 3D-printed element to serve that purpose; so I’ll just go with 3D-printed. I’m currently thinking through that design and what technology to use for the printing.
Okay, so, now the problem with the Yi is well on its way to being solved. But I’m left with an array of D-Mount lenses that I sort of love, and have seen enough of to believe that they can provide quite nice images.
Basically, I’ve got to start with a sensor that’s in a pretty minimal configuration, if I’m going to get the D-Mounts close enough to focus properly.
When I first started this project, I considered using the new Raspberry Pi High Quality Camera, configuration of which seemed ideal (and I’m a Pi fan) but the quality of the video output looked poor, and I really wanted 4K, rather than the 1080p it provides. Oddly, it uses a Sony IMX477 sensor, which has better specs than the Yi’s IMX377. I’ve come to understand, in the context of these minimal sensor setups, that the processing hardware is a significant factor in achievable image resolution. If you look at Arducam’s implementation of the IMX477 sensor for Pi, you see that it achieves that desired 4K resolution. Unfortunately, this Arducam SKU doesn’t really seem to be available anywhere, although the NVIDIA Jetson version is, and generally, it looks like Jetson and other hardware is better-suited to this use than Pi. However, I want to keep the footprint small and cheap, so I’m sticking with PI. It would be nice to find an ideal piece of hardware specifically dedicated to this sort of prototyping, and I’ll keep an eye out for that.
Hence, the second fork; for the time being, I’m going to compromise and build a camera from the Raspberry Pi High Quality Camera and my D-Mount lenses, and will look to iterate that for higher resolution with the Arducam unit, when that becomes available.
For both of these approaches, my next steps are getting the components in place for testing, and revising designs. One of these may end up in an old film camera, while the other will get nice new cut titanium housing.