You need to be a member of diydrones to add comments!

Join diydrones


  • Hi,

    What is the status of this project?


  • Hi

    How could I get Arducam's hardware smples?

    I wish to test it with my arducopter based projec.

    Thanks a lot.

  • Developer

    Hi, Johan. That is the hole that Cannon did on our fun. But we'll find even better cams.

    You can see the detailed list of Canon cams that seems to work fine here:

    There are relatively small cams at the list. However, the newest and weightless ones will come from CHDK PTP hacking.


    gPhoto - Doc :: Remote controlling cameras
  • Developer

    @Johann and @Martin,

    It really have not been easy. I'm a "die-hard" newbie, then I read about USB again, again and again until understand all the things related, like: token packets, data packets, handshake packets, packed IDs, enumeration, device descriptor, addresses, end-points, etc. If I were an experienced developer, for sure the coding could be done more fast. But you know... no pain, no gain. And the gain to me here is specially the learning. ;)

    In the end, we all will gonna be happy with the results. I really believe on it.


    Best regards

  • Distributor

    Hello Sandro,

    Thank you for your detailed explanation, your posts I am sure will give Johann and others here on the forum a better understanding of the complexities which go into “plug & play” hardware and the software to make it work.

    I have no doubt reading your posts that you are working very hard to get this working, looks like there could be some good news on the horizon if you get your generic Lua scripts to work, as you want.

    I guess the manufactures of these cameras are not forth coming with the information to make your life that little more easy.





  • Developer

    Hello Johann,

    Still not that easy. Even CHDK is camera specific. You can see their current list here.

    I will need to patch one by one. Your cam is not there yet.

    CHDK Download - build 1.4.1, revision #5280
    CHDK Autobuild service
  • Developer


    As an unshaken "DIYDroner" what I'm doing to jump the "nothing to do" part? Well, I'm working with CHDK guys to add a special door to PTP commands by patching hacked firmwares. Not easy at all... but seems to be doable. We are creating a generic way to talk will the camera and execute Lua scripts on it.

  • Developer


    USB is a host centric bus. Resuming a lot, that means when you attach a client device on the bus, the host will read all the "functions" the client have such as storage, printer, scanner, modem, output audio, output video, etc. So, by this point your USB host will start to use that functions, by mapping this as peripherals of the client device.

    Let's take a multifunctional device as example. When you attach this to your PC, the client provide this functions: printer, scanner and fax. So, e.g. a driver to be installed in your PC usually have a ".inf'" file which will just relate each function and the respective addresses and endpoints to the known operations and events supported, etc.

    So, if your client device don't have the necessary function, with the expected operation and events. You have nothing to do. If you try to use something not listed there, you will get a error, just it. ;)



  • Distributor
    Hi Sandro,


    Yes, I think I understand as there is not the 901A listed for the A495, however as there is no event listed that I can see to trigger the camera, would it not stand to reason as there are other cameras that use the 901A that even though it's not listed that it may well work on the 495's. I could be way off base here, Is there any way to harm the camera by trying to make it work? say with the code from one which is listed with the 901A, if this was to trigger the shutter, then would we be onto a winner?

    I guess I like the way DIY Drone members don't settle for it can't be done's !!



  • Developer

    Hi Martin,


    This dump shows what I were talking about: The A495 listed resources don't have remote controlling registers (focus, zoom or even capture).

    Look at the A520 bellow A495 dump. There you will see it: "901A     PS_InitiateCaptureInMemory". This is what we need to shooting. And it's very interesting, due A520 is not listed on the official Canon SDK (PS-ReCSDK 1.1.0e).



This reply was deleted.