Nightmare75, I have a quick question. I am about to attempt this again with a new Arduino and USB Host Shield. The instructions on the Circuits@Home site say to cut a trace in the board. How do you know when you have successfully cut the trace? I am a little nervous about doing this.
I'm fortunate enough to have a workspace with a bunch of useful equipment, including a microscope. I cut my trace and verified that it was cut by looking at it under the microscope. Failing that, I don't know. The trace is small and it isn't very deep and it didn't take much pressure to cut it. I'm not sure if there's anything underneath it, but I wouldn't worry too much about applying too much pressure. Sorry I can't be anymore helpful than that.
Another thing. For faster transfer speeds to might want to consider something like the Raspberry Pi (when it is finally available). Since it is a fast little computer I am sure you will get much better speeds and there is software like gPhoto2 that can call PTP commands.
While I'd love to, I don't have the time to wait for a Raspberry Pi to become available. It also takes more power to run than my Arduino, which is important because I'm going to be running the system on batteries. I'm fairly sure the bottleneck on the transfer is the Arduino itself. It's only an 8 MHz processor. I haven't done any real hard looking at it, but my guess is that 8 MHz is too slow.
On some cameras it only works in Playback mode.
On other cameras it may not work at all.
Thanks for the suggestion. It looks like the thumbnail only exists on my camera if you're in playback mode. However, when I'm in playback mode, I get some strange behavior when I request a list of file handles. Most of the time, when I request file handles, the lens retracts, the screen shuts off, and the camera stops responding to button presses, including the power button. I then have to pop the battery to get the camera to shut off. The camera doesn't completely lock up though, as I'm still able to request file information and transfer the thumbnail off of the camera. The camera appears to still be responding to some software requests from the Arduino, but not all. After it shuts off the screen, it will still do file operations, but it won't go back to record mode or anything like that.
I'm able to transfer thumbnails off the camera and it's actually fairly quick, something like 10 seconds for one thumbnail. That's definitely something I can work with. The problem is that the process for requesting the thumbnails makes me unable to take anymore pictures until I manually reset the camera.
Any ideas on why this might be happening? Is it a camera thing, a CHDK thing, or is it something with my code/my PTP implementation?