Here’s one way to get more control of your camera lenses. [Vladimir] built an Arduino-based pass-through ring (translated) which intercepts automatic lens controls. It’s meant for use with the Canon EOS lenses which have their own electronics allowing control of things like focus and zoom.
It seems like part of the motivation here was to uses the lenses with other brands of cameras. But [Vladimir] does also talk about the possibility of improving on some of the sensors that don’t perform well in certain climate conditions (think of how crystal oscillators will drift as temperature changes).
The machine translation is a bit rough to follow, but it seems the adapter ring still uses the settings sent in from the camera but has the Arduino clone to translate them into a format that the lens is expecting. In addition to this there is a set of buttons on that small PCB beside the lens which allow for fine tuning the aperture.
This is a lengthy writeup, but there’s two more on the way that will help fill in the gaps of how this hack works with different lens models, and some more tips on how to use it.
[Thanks Vasily]
How does this not change the focal point?
Obviously you can change the focal length by rotating the lens body but does this not impact the automatic focusing sensors because they are expecting a different fixed length?
That big EOS lens expects the focal plane to be somewhere around 40mm from the rear of the lens. The NEX cameras expects the back of the lens to about 18 mm. So that leaves plenty of room for adapters and new electronics.
I think Micro 4/3 cameras have a sensor much closer to the mounting plate of the lens.
The focal point of the lens doesn’t change but it was meant to go with a camera that had a mirror mechanism. The camera he is using (Sony) doesn’t have a mirror so the distance from the lens mount to the CCD is shorter than the EOS lens was designed for. Too much space and you can focus close for macro but lose infinity focus. Too much space, and you start losing close focusing.
I really really like this!
I’ve been wanting to do this for quite a while, ever since i got my Logic16.
Does anybody see some documentation of the protocol used? I can’t seem to find any?
MartinMunk 🙂
there are two links in the text concerning the protocol, but it seems people just found these things out by guessing, for a moment there I hoped somebody had a proper spec for the protocol… (I wonder if the third-party lens vendors do? i.e. did Tamron and Sigma reverse-engineer the Canon protocol, or is there maybe a patent somewhere with a spec? When toying around with listening to my lenses [I didn’t send them any commands, because I don’t know how trusting they are, maybe you can destroy them that way?] I noticed Tamron lenses use a clock about 10x as slow as Canon, but I don’t see how they negotiate this, since the clock comes from the body, not the lens)
Nice. A few years ago I wanted to use some SLR lenses for machine vision and looked into whether I could talk to Canon lenses, but didn’t find anything helpful; looks like this guy figured it out.
However I don’t think any adapter is going to allow you to control zoom 😉 (for those not familiar, all EF lenses are manual zoom only.)
I have been considering trying something somewhat related. I would like to add manual focus to my little Canon PowerShot SD4500IS camera. I have not looked into this in too much depth, but I would guess the auto focus is proformed by stepper motors in the lens assembly? So maybe with the use of a small microcontroller I could manualy control the focus. If anyone has any thoughts I would love to hear them.
Well done Vladimir, This is a really interesting project, I hadn’t really noticed the sony camera in there at first, I had hoped it was a canon camera talking to random lenses but either way it’s a very cool mod. I’d like to be able to convert canon signals to focus a telescope (telescope focuser mechanism has a stepper motor), I wonder whether that would work, as I’m interested in the signals that the lens sees rather than what the sony puts out this page could help a lot.
Looks like the ring does not get any control from the camera, have a look at the picture of the bayonet mount that goes into the camera, it has not got any electrical connection,
or better, the drawing of the electronics..