Updated Oct 8, 2010, scroll down to pictures of new circular PCB.
Updated Oct 18, 2010, information about Canon's focus/lens limitations and some time tests for rack focus.
Updated Oct 20, 2010, pictures of new circular enclosure.
Updated Nov 5, 2010, four saved focus points video: http://vimeo.com/16550131
Updated Nov 20 with some pictures from the CNC side of things.
Updated Dec 5 with pictures of the first anodizing sample.
The first prototypes finally arrived for my Canon 5dmkII/7D/T2i USB follow focus, and are working without any issues:
There has been an ongoing discussion about the obstacles, benefits, and drawbacks of a USB follow focus/camera control in the 5DmkII technical section. You can find it here (warning, 20+ pages, relevant info from page 19 onwards): http://www.cinema5d.com/viewtopic.php?f=14&t=3258.
I have taken an Arduino Pro and combined it with the USB host shield into a single PCB. My design runs off of two AA batteries, but potentially you could replace them with AAAs, a 3 volt lithium battery, etc. This particular layout is designed for a 2" diameter knob for the rotary encoder at the top of the PCB, which is why there is a fair amount of spacing between the encoder and the switches halfway down. I intend to do a full enclosure and knob. The below picture is just an example of what it may be like. The additional space above the board at the top is for placing a 1/4-20 mount for use with 15mm rail clamps to put it on your rig.
As mentioned above, it is an Arduino Pro compatible board, and includes the connectors for ISP and an FTDI serial to USB board, making it work fluidly with the Arduino development environment. The USB host and PTP code is provided by Oleg from http://www.circuitsathome.com. Currently it is capable of changing the focus (using both the encoder and two switches to give you a constant, smooth rack focus), start/stop recording, zooming digitally at 1x/5x/10x, and adjusting the focus step size. Additionally, saving focus points is possible, but this requires quite a bit of customization and testing with the specific lens you intend to use, since the focus step size and speed at which the focus changes depend entirely on the lens itself, and which focal length it is set to (if it's a zoom). If you have basic programming skills then you can also remap the switches whichever way you please, or add additional functionality to use it for time lapse photography, or anything else you can think of.
An early video from my initial testing of basic focus control from over a month ago can be seen on Vimeo: http://vimeo.com/13546517.
After I do a bit more testing and lock down some of the focus point code I'll be releasing the Arduino sketch and modified libraries.
Update Oct 8, 2010, quoting myself from the end of the thread:
Another update. I've really tried to take all the feedback so far and completely redesign it, with the goal of making it smaller, lighter, and adding more switches.
The result is a 2.6" diameter circular PCB, with 9 push button switches, running on AAA batteries. Here's a picture with it next to a friend's T1i for scale, using a quickly made plastic knob just for testing (full aluminum enclosure and knob in the works).
And a closeup without the knob, with a penny for scale:
At 2.6" diameter it fits very easily in the palm of one hand, and can be manipulated with one hand as well. The buttons are much more spaced out to make it easier to use and prevent accidental presses. Dead center at the bottom above the USB cable is the isolated record start/stop. The left four switches from the top are focus step size, smooth focus near, smooth focus far, and the digital zoom/AF. The right four switches from the top are hard focus point 1, soft focus point 1, soft focus point 2, and hard focus point 2. The hard focus points prevent the focus from traveling past them, while the soft points allow you to move the focus over them. A simple press can return you to any of the four points.
I am also implementing profiles that will convert the four focus point switches to aperture +- and shutter speed +-, plus mirroring the switches in case you would rather have the left and right sides reversed.
The new enclosure will basically be a disc, and will have a 1/4-20 mount dead center on the back, flush with the casing, so that it will be as low profile as possible.
Anyway, the redesign has set back the timeline to release, but I really want to create something that is the best I can do, and going this direction with a much smaller controller that has even more functionality should be worth it.
Update Oct 18, 2010, quoting myself from the end of the thread:
I'm going to add the following to the first post as well, in case this gets lost as the thread gets longer.
I have spoken about the limitations of Canon's USB focus system before, but I want to make it extremely clear that using a USB follow focus is a trade off in terms of either accuracy or speed. You get one or the other, but not both. This is the major drawback, and there's not much you can do about it due to the way Canon has implemented the USB commands and their lenses.
When you send a change focus command to the camera you get to pick one of three sizes (small, medium, or large). The specific lens used, and the focal length it is set to (if it's a zoom) determine how big each of those steps actually is, and how fast it takes to start, move, and stop the internal focusing mechanism. So far it is completely different on every model of lens I have tested. Two of the same model work the same way, which is to be expected.
Here is an example, using my 17-55 f/2.8, recording the time it takes to go from near to infinity, or a full rack focus. The fastest rate at which you can send focus commands without losing accuracy for saved focus points/focus stops on this lens is about 12 times per second:
At 17mm, with the three step sizes:
sm: 9 seconds
md: 2.4 seconds
lg: 0.5 seconds
sm: 34 seconds
md: 8.5 seconds
lg: 1.2 seconds
sm: 1 minute 8 seconds
md: 5.5 seconds
lg: 0.9 seconds
You'll notice that when set to 35mm, the medium and large step sizes take longer than at 55mm. I repeated these tests several times to verify that it is actually this way. It's a strange comparison, considering the small step size is half the time at 35mm when compared to 55mm.
In general, the medium step size is quite usable in terms of smoothness, speed, and accuracy. The small step size gives extreme precision, but at longer focal lengths it is very slow. The large step size only takes about 3-4 commands to go from near to infinity, but you have no accuracy at all because it covers such a large range of focus for each step.
Unfortunately I do not have my 35 f/1.4L at the moment to do this test with, but it has a much longer focus throw, and when I was using it, the small step size was rediculously slow, while the large step size was actually usable in terms of both speed and accuracy.
The whole point of showing this information is so that people do not misunderstand what a USB follow focus is capable of. It cannot perform exactly the same as a mechanical follow focus. Blame it on Canon.
Update Oct 20, 2010, quoting myself from the end of the thread:
The new prototype enclosure showed up today. A short disclaimer before pictures:
This is raw aluminum. The final units will be anodized dust black.
The plastic knob in the picture is not the final knob. The final knob will be CNC'd out of aluminum, and weigh less.
The buttons in the picture are not the final buttons. I intend to use multiple colors to help designate functionality.
Total weight including knob, circuit board, batteries, and buttons is about 5.2 ounces (148 grams). If you use lithium AAA batteries it will weigh even less.
Diameter is about 2.7" (68.6 mm).
Height of the case (without knob/buttons) is 7/8" (22.2 mm)
Front, with coins for scale:
Front, without knob:
Back, showing 1/4-20 mount:
Back, case open:
Update Nov 20, 2010:
A little progress. This is what the cases and knobs look like halfway through machining (outside and top of cases milled, bottom and sides of knob milled):
Then they're flipped over to mill out the inside. The finished knob (before bead blasting and anodizing) looks like this. It has had as much material removed as possible, and weighs about half an ounce alone:
ETA depends on component shortages for the electronics. I'm hoping mid-December.
Update Dec 5, 2010:
First anodizing sample: