Practical implementation of Arduino USB Camera Controller

Micro Camcontroller

Micro Camcontroller

Fernando Radi sent me pictures of the project he’s recently finished. It is Arduino Digital Camera Controller ( which has been posted back in January as a proof-of-concept circuit ) with some clever modifications – Fernando used Mini variant of the shield, Arduino Pro Mini and ultra-tiny LCD. As a result, the controller is very small. Make sure to read Fernando’s comment to the article linked above for construction details. Also, I suggest visiting Fernando’s blog – I don’t know Spanish well enough to read his posts but his photographs are very good!

..Electronics is not my field of expertise and I do not have any tool other than a Dremel, so the enclosure is not fancy but small enough and fit my needs. BTW, the one in the picture was the third attempt, dremel is very slippery 😉

This quote from Fernando’s e-mail triggered another idea that I want to share with my readers. I understand that many people who want to make a camera controller are not familiar with building electronic circuits from small parts. To help them, I’d like to put together a kit containing necessary parts (i.e., USB Host, Arduino, LCD, switches, buttons, etc.) plus PCB to solder parts to and a small enclosure. A PCB will be laid out using large traces so that builders who possess home made PCB fabrication skills can save some money. I’m thinking about using standard size LCD instead of super tiny one to keep the circuit simple. Estimated end-user price for this kit is going to be $75-80. Let me know what you think about the kit and especially price. I’m currently playing with overall layout and hoping to post something in about a week or two.

Thanks again, Fernando for sharing your project with us!

Camcontroller close-up

Camcontroller close-up

16 comments to Practical implementation of Arduino USB Camera Controller

  • karsten

    Hello Oleg,
    great idea, but please sell those items as single items as well 🙂

    @Fernando well done, looks great!!

  • Looking forward for the kit. I would definitely buy one.

    Will the kit also include Arduino and USB Hostshield as well?

    If yes, then can you sell the PCB board and the components alone as a separate package for people who already have an Arduino board and the USB Host shield?

  • karsten

    great, I’really looking forward to you bundle. Another question concerning the controller itself, does it do anything without a camera connected? Is soldered an wired mine, but have no EOS to test it.


  • karsten

    no, unfortunately not, so i’ll recheck the wiring. Right now I’m testing with a Duemilanove and the latest Sparkfun usb shield. The selftest of the usb shield and the hello world test for the LCD were okay.

  • Does your library support transfer of a thumbnail from camera to arduino?
    I’m interested to build a usb remote that can transfer images also (using a bigger touch screen) and maybe wireless
    My remote uses the remote cable trigger
    I’ve post it here

    • PTP file operations will be supported eventually; I don’t think image transfers will be practical – this board is not fast enough, unless you shoot in very low quality.

  • Fernando

    Hi Oleg…

    I had a great time shooting with the Oleg-controller yesterday. The HDR is super easy now. Everybody asked me for it and looks like everybody want one, so you better finish the commercial version soon 😉

    I also wanted to report a scary problem I had with my canon 7D. While shooting the battery died. I do not usually turn the camera Off to replace it, so I removed it and replaced it with a charged one. Then, I tried to take a picture and nothing happened. Tried to preview one and the display didn’t work. So I tuned the camera Off, removed the compact flash card and removed the battery. Then I put the card and battery back in and turned the camera On but the same problem continued.

    Then I realized the Oleg-controller was still attached to the camera and in On position (I have a little On-Off switch in my prototype) and with the “Camera disconnected” message. I turned the controller Off, the camera Off and removed battery and card. Put battery and card back in and turned the camera On without the Oleg controller and voila… fixed it. Finally I connected the controller back , turn it On and kept shooting the rest of the afternoon without any problem.

    I do not know if is a real issue or something I did, just wanted to mention it to you in case is some software related thing.


    • This is specific to 7D. You can lock it out quite easily and exact cause is currently unknown. To unlock, pull the battery, wait couple of seconds, then re-insert the battery.

  • Hello again,

    What kind of cpu do you think it will be required to transfer thumbnails from camera to remote?

  • ziga

    i am interested in your controller, but i have almost no knowelage of working with small components. would it be possible to order a controller from you? i need it for film making becouse we use the camera in a crane and it is really time consuming to make changes in settings. does your controller work in live view mode(only nessesary to make changes to aperture, time, iso, maybe focus)? can you adjust focus with it?


    • This controller is a sample project demonstrating PTP library – I’m not building them. You can modify it to include focus control.

  • Proty

    I can’t understant the board that you did to control de parameters. ¿Can you specify the components that I need apart of the arduino and the usb host shield? ¿And also a schematic of it?

    Sorry for my bad english…


  • hi, this is awesome! i’m looking to build an intervalometer that will have a user-controlled on and off time (as well as intervalometer timing). i’m working on a year-long project where we’re capturing a building renovation during the day only. i have a hunch it will be somewhat easy to add into this set of libraries. can you think of anything prohibiting this? many thanks!!