EOS Controller Android App

794 views
Skip to first unread message

Manolis Nikiforakis

unread,
May 31, 2011, 7:21:29 PM5/31/11
to ml-d...@googlegroups.com

Hello everyone,

Congratulations on your work with ML!

Since Trammell’s early versions I was tempted to participate, as I am a software engineer and an EOS enthusiast, but I don’t have any experience with ARM SDKs, as I am focused on high level stuff (J2EE), so did actually until…

I was updating ML a few minutes ago, and had this idea which made me decide to write this email.

 

Wouldn’t it be nice if we could use a modern tablet (e.g. Android) as a monitor or as a control interface, for our DSLR cameras ? :-)

 

With Android honeycomb 3.1, USB can act as host, hence “connect” with peripherals.

(http://developer.android.com/guide/topics/usb/index.html)

Therefore in theory, one could write/port an Android driver/app which will communicate with an EOS camera in order to:

·        View/Transfer photos (ok that’s not very innovative, but it’s useful)

·        Use as a monitor (some tablets have excellent LCDs, and both devices run on battery, hence it’s quite a portable setup)

·        Use as a controller (tablets have touch screens so why not take advantage of it and implement some functions or ideally the entire ML menu, on the tablet)

·        ..other more extreme ideas like, Geotagging photos, use DSLR as a web camera, remote control camera , etc  

 

I have a XOOM tablet and a 550D so hardware wise I can give it a go.

 

So here comes some early questions:

 

1.      Firstly, what do you think ? is this of any interest to you guys ? Am I missing something that makes the entire idea stupid ?

2.      Are you aware of any source for EOS controllers/drivers or something relevant that I could use ?

3.      Is ML interfering with the USB? (sorry for not researching on this, I am sure that the answer is in your discussions, but…)

4.      Is Canon’s USB protocol rich enough to handle what I am describing without ML having to do anything ?

5.      Can I find Canons EDSDK 2.10 somewhere? (unofficially I guess :-)

 

Thanks,

Manolis

modology

unread,
May 31, 2011, 7:34:31 PM5/31/11
to ml-d...@googlegroups.com
I think that;s great idea to make use of android tablet as external monitor. 
If you can write an android software to capture the HDMI signal from camera then record it into higher bitrate or better quality codec on the tablet (like Atomos Ninja), that'd be more than awesome.

-- 
modology
Sent with Sparrow
--
http://magiclantern.wikia.com/
 
To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en

Morgan Look

unread,
May 31, 2011, 7:40:13 PM5/31/11
to ml-d...@googlegroups.com
Hi Manolis.

What you are suggesting makes a lot of sense.  It's not strictly magiclantern but it's certainly relevant.
I have considered this as a possibility, but didn't have the skills to even begin.
Especially the use of a tablet as a monitor, waiting for more devices to have USB hosts so they can talk with the camera over PTP.

What I suggest you look into is porting gphoto2 to andriod with ptp support.  I'm not sure if it can stream live video or not, but it would be a good place to start.
This is an existing linux project which already supports many cameras, hopefully it would just be a matter of porting it, there are probably people working on it already.  http://www.gphoto.org/

Also there are some projects around where people control the camera from an Arduino or similar micro controller, this is what many of the electronic follow focus projects are based on.  There may be some source code in there which is useful to you.  A quick search for "ptp eos arduino" reveals this...

Morgan.

Manolis Nikiforakis

unread,
May 31, 2011, 7:59:40 PM5/31/11
to ml-d...@googlegroups.com

I had a look at the Atomos Ninja, and it looks cool and similar to what I am talking about, however I don’t think it is possible to use the HDMI port of the tablet to capture anything, since it is an “HDMI out”, and not an “HDMI in” port.

We will have to stick to USB for the time :-)

 

Manolis

Petr Sedlacek

unread,
Jun 1, 2011, 3:43:18 AM6/1/11
to ml-d...@googlegroups.com
Come on, guys, be realistic :) Do you realize how much power would it take to compress raw 1080p stream? 1920x1080x3 = 5MB EACH FRAME x 24p = 142 MB per second or 1.1Gbps :)

However, using the Android device as a controller would certainly be cool :)

Pete

Jad Meouchy

unread,
Jun 1, 2011, 4:25:06 AM6/1/11
to ml-d...@googlegroups.com
yeah the recording bit is absurd, no offense.
 
as for the controller, it would really come down to writing a usb driver for the camera, which might not be too hard on android 3.1+.  However, the protocol in the Canon SDK is definitely not published.. I tried to get it a couple years ago to build a Windows CE controller using cheap GPS devices (at the time, cheap 5" touchscreens with usb).  Maybe they would be a little friendlier now, it's worth a shot.

James Donnelly

unread,
Jun 1, 2011, 4:59:41 AM6/1/11
to ml-d...@googlegroups.com
Getting the picture onto the Android device via USB would be good, but as a viewfinder.  Replicating some of the controls in EOS utility would complete the job.

This would replace a set up I currently use on a Windows UMPC with a 4.7" screen running the EOS utility.  The cool thing is, I found a WUSB set which allows me to run the EOS utility to control the camera wirelessly.  It is a bit slow when viewing the liveview image, but for general camera control, it is super fast and really usable. This set up requires me to hook a battery box to the WUSB dongle connected to the camera to power it. 

If anybody wants to see pictures or a vid of this in action, let me know.

I wonder why WUSB didn't happen.  It was super hard to find the set I got. 

A higher bandwidth set up might involve 2 android devices.  One hooked up to the camera via USB, and another connected to it via an ad-hoc WIFI network.  This could really rock.

Obviously this all depends on being able to write the software.  There is a project on sourceforge, which I'm sure most of you have seen:

http://sourceforge.net/projects/eos-movrec/

It seems to depend on libgphoto for Linux and the Canon SDK for windows.

If some brave soul would take on the task of porting libgphoto to the Android NDK, that might be a start.  The NDK has improved a lot of late, and offers some nice ways to integrate C code with the Android platform.

"Sztupák Sz. Zsolt"

unread,
Jun 1, 2011, 5:16:44 AM6/1/11
to ml-d...@googlegroups.com
Hi!

I'm actually working on getting some of the EOSSDK functions to work from Android (and more later on). As I only have access to a 2.3.2 device, without built-in USB OTG support (samsung galaxy i9000), so it's a bit hard, as I first have to get usb host mode working. Android 3.1 has already open accessory suport, but I haven't checked it how it actually works (whether it needs for example support from the guest device or not). I'll post my results when I have them.
�
�SztupY
Getting the picture onto the Android device via USB would be good, but as a viewfinder.� Replicating some of the controls in EOS utility would complete the job.

This would replace a set up I currently use on a Windows UMPC with a 4.7" screen running the EOS utility.� The cool thing is, I found a WUSB set which allows me to run the EOS utility to control the camera wirelessly.� It is a bit slow when viewing the liveview image, but for general camera control, it is super fast and really usable. This set up requires me to hook a battery box to the WUSB dongle connected to the camera to power it.�

If anybody wants to see pictures or a vid of this in action, let me know.

I wonder why WUSB didn't happen.� It was super hard to find the set I got.�

A higher bandwidth set up might involve 2 android devices.� One hooked up to the camera via USB, and another connected to it via an ad-hoc WIFI network.� This could really rock.

Obviously this all depends on being able to write the software.� There is a project on sourceforge, which I'm sure most of you have seen:


http://sourceforge.net/projects/eos-movrec/

It seems to depend on libgphoto for Linux and the Canon SDK for windows.

If some brave soul would take on the task of porting libgphoto to the Android NDK, that might be a start.� The NDK has improved a lot of late, and offers some nice ways to integrate C code with the Android platform.



On 1 June 2011 09:25, Jad Meouchy <jad.m...@gmail.com> wrote:
yeah the recording bit is absurd, no offense.
�
as for the controller, it would really come down to writing a usb driver for the camera, which might not be too hard on android 3.1+.� However, the protocol in the Canon SDK is definitely not published.. I tried to get it a couple years ago to build a Windows CE controller using�cheap GPS devices (at the time, cheap 5" touchscreens with usb).� Maybe they would be a little friendlier now, it's worth a shot.

On Wed, Jun 1, 2011 at 12:43 AM, Petr Sedlacek <pe...@sedlacek.biz> wrote:
Come on, guys, be realistic :) Do you realize how much power would it take to compress raw 1080p stream? 1920x1080x3 = 5MB EACH FRAME x 24p = 142 MB per second or 1.1Gbps :)

However, using the Android device as a controller would certainly be cool :)

Pete


On 01/06/11 00:59, Manolis Nikiforakis wrote:

I had a look at the Atomos Ninja, and it looks cool and similar to what I am talking about, however I don�t think it is possible to use the HDMI port of the tablet to capture anything, since it is an �HDMI out�, and not an �HDMI in� port.

We will have to stick to USB for the time :-)

�

Manolis

�

From: ml-d...@googlegroups.com [mailto:ml-d...@googlegroups.com] On Behalf Of modology
Sent: Wednesday, June 01, 2011 2:35 AM
To: ml-d...@googlegroups.com
Subject: Re: [ML] EOS Controller Android App

�

I think that;s great idea to make use of android tablet as external monitor.�

If you can write an android software to capture the HDMI signal from camera then record it into higher bitrate or better quality codec on the tablet (like Atomos Ninja), that'd be more than awesome.

--�
modology
Sent with Sparrow

On Wednesday, 1 June 2011 at 9:21 AM, Manolis Nikiforakis wrote:

Hello everyone,

Congratulations on your work with ML!

Since Trammell�s early versions I was tempted to participate, as I am a software engineer and an EOS enthusiast, but I don�t have any experience with ARM SDKs, as I am focused on high level stuff (J2EE), so did actually until�

I was updating ML a few minutes ago, and had this idea which made me decide to write this email.

�

Wouldn�t it be nice if we could use a modern tablet (e.g. Android) as a monitor or as a control interface, for our DSLR cameras ? :-)

�

With Android honeycomb 3.1, USB can act as host, hence �connect� with peripherals.

(http://developer.android.com/guide/topics/usb/index.html)

Therefore in theory, one could write/port an Android driver/app which will communicate with an EOS camera in order to:

�������� View/Transfer photos (ok that�s not very innovative, but it�s useful)

�������� Use as a monitor (some tablets have excellent LCDs, and both devices run on battery, hence it�s quite a portable setup)

�������� Use as a controller (tablets have touch screens so why not take advantage of it and implement some functions or ideally the entire ML menu, on the tablet)

�������� ..other more extreme ideas like, Geotagging photos, use DSLR as a web camera, remote control camera , etc �

�

I have a XOOM tablet and a 550D so hardware wise I can give it a go.

�

So here comes some early questions:

�

1.����� Firstly, what do you think ? is this of any interest to you guys ? Am I missing something that makes the entire idea stupid ?

2.����� Are you aware of any source for EOS controllers/drivers or something relevant that I could use ?

3.����� Is ML interfering with the USB? (sorry for not researching on this, I am sure that the answer is in your discussions, but�)

4.����� Is Canon�s USB protocol rich enough to handle what I am describing without ML having to do anything ?

5.����� Can I find Canons EDSDK 2.10 somewhere? (unofficially I guess :-)

�

Thanks,

Manolis

--
http://magiclantern.wikia.com/
�


To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en


To post to this group, send email to


To unsubscribe from this group, send email to
ml-devel+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/ml-devel?hl=en


To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en

To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en

To post to this group, send email to ml-d...@googlegroups.com
To unsubscribe from this group, send email to ml-devel+u...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/ml-devel?hl=en

Manolis Nikiforakis

unread,
Jun 1, 2011, 6:34:56 AM6/1/11
to ml-d...@googlegroups.com

high end android tablets use Nvidia's Tegra dual core CPUs which I assume are alot more powerfull than canons, when combined with CUDA  which is also tuned for video transcoding and also includes h.264 encoding functions. I don't think CPU is the problem, but bandwidth is! cannot stream uncompressed fullhd over usb2

On Jun 1, 2011 10:43 AM, "Petr Sedlacek" <pe...@sedlacek.biz> wrote:
> Come on, guys, be realistic :) Do you realize how much power would it
> take to compress raw 1080p stream? 1920x1080x3 = 5MB EACH FRAME x 24p =
> 142 MB per second or 1.1Gbps :)
>
> However, using the Android device as a controller would certainly be cool :)
>
> Pete
>
> On 01/06/11 00:59, Manolis Nikiforakis wrote:
>>
>> I had a look at the Atomos Ninja, and it looks cool and similar to
>> what I am talking about, however I don't think it is possible to use
>> the HDMI port of the tablet to capture anything, since it is an "HDMI
>> out", and not an "HDMI in" port.
>>
>> We will have to stick to USB for the time :-)
>>
>>
>>
>> Manolis
>>
>>
>>
>> *From:*ml-d...@googlegroups.com [mailto:ml-d...@googlegroups.com]
>> *On Behalf Of *modology
>> *Sent:* Wednesday, June 01, 2011 2:35 AM
>> *To:* ml-d...@googlegroups.com
>> *Subject:* Re: [ML] EOS Controller Android App

>>
>>
>>
>> I think that;s great idea to make use of android tablet as external
>> monitor.
>>
>> If you can write an android software to capture the HDMI signal from
>> camera then record it into higher bitrate or better quality codec on
>> the tablet (like Atomos Ninja), that'd be more than awesome.
>>
>> --
>> modology
>> Sent with Sparrow <http://www.sparrowmailapp.com>

>>
>> On Wednesday, 1 June 2011 at 9:21 AM, Manolis Nikiforakis wrote:
>>
>> Hello everyone,
>>
>> Congratulations on your work with ML!
>>
>> Since Trammell's early versions I was tempted to participate, as I
>> am a software engineer and an EOS enthusiast, but I don't have any
>> experience with ARM SDKs, as I am focused on high level stuff
>> (J2EE), so did actually until...
>> on this, I am sure that the answer is in your discussions, but...)

>>
>> 4. Is Canon's USB protocol rich enough to handle what I am
>> describing without ML having to do anything ?
>>
>> 5. Can I find Canons EDSDK 2.10 somewhere? (unofficially I
>> guess :-)
>>
>>
>>
>> Thanks,
>>
>> Manolis
>>
>> --
>> http://magiclantern.wikia.com/
>>
>> To post to this group, send email to ml-d...@googlegroups.com

>> To unsubscribe from this group, send email to
>> ml-devel+u...@googlegroups.com

>> For more options, visit this group at
>> http://groups.google.com/group/ml-devel?hl=en
>>
>>
>>
>> --
>> http://magiclantern.wikia.com/
>>
>> To post to this group, send email to ml-d...@googlegroups.com

>> To unsubscribe from this group, send email to
>> ml-devel+u...@googlegroups.com

Manolis Nikiforakis

unread,
Jun 1, 2011, 6:51:54 AM6/1/11
to ml-d...@googlegroups.com

cyanogenmod is compatible with your device and should have USB host support soon if not all ready with android 2.3.4. check experimental builds.
http://www.cyanogenmod.com/blog/samsung-galaxy-s-series-support

however we can work together on this if you like. Are you planning to release source or do u want to create product ?
Eitherway I need to do more research on this as some of the links posted here are new to me, and I ll be back :-)

On Jun 1, 2011 12:17 PM, Sztupák Sz. Zsolt <ma...@sztupy.hu> wrote:

"Sztupák Sz. Zsolt"

unread,
Jun 1, 2011, 7:25:01 AM6/1/11
to ml-d...@googlegroups.com
Hi!

Cyanogenmod does not replace the kernel, and usb otg/host support is not built inside the kernel in a lot of "old" devices. People have already build somewhat working otg kernels for most of the HTC decvices like the Desire or the N1, but that's separate from the cyanogenmod project. Android 2.3.4 only contains built-in support for the open accessory standard via wireless interfaces, the usb interface is officially only supported on 3.1 and beyond (this does not mean that it's not working, there are a lot of cheap chinese Android tablets still with Éclair or Froyo, but with woring usb otg or usb host mode). Besides I don't really like cyanogenmod, their development process is too closed and elitist (or I might only think this way because I have a history with them....)

I'm still working on the kernel part of the project, getting a simple usb stick to work, anything canon related is second (although I'm trying to RE their usb protocol, as I couldn't find a good source for the internal workings of EDSDK). (And I always release sources for community projects :) )

 SztupY

James Donnelly

unread,
Jun 1, 2011, 8:51:26 AM6/1/11
to ml-d...@googlegroups.com
What about gphoto?

arm.indy

unread,
Jun 1, 2011, 9:13:45 AM6/1/11
to Magic Lantern firmware development

unity2k

unread,
Jun 1, 2011, 9:18:58 AM6/1/11
to Magic Lantern firmware development
Haven't seen anyone talking about the Teradek Cube yet where they take
the HDMI feed and send it wirelessly to an iPad: http://cube.teradek.com/encoders.html

On Jun 1, 3:51 am, Manolis Nikiforakis <nikil...@gmail.com> wrote:
> cyanogenmod is compatible with your device and should have USB host support
> soon if not all ready with android 2.3.4. check experimental builds.http://www.cyanogenmod.com/blog/samsung-galaxy-s-series-support
>
> however we can work together on this if you like. Are you planning to
> release source or do u want to create product ?
> Eitherway I need to do more research on this as some of the links posted
> here are new to me, and I ll be back :-)
> On Jun 1, 2011 12:17 PM, Sztupák Sz. Zsolt <m...@sztupy.hu> wrote:

Peter scharff

unread,
Jun 1, 2011, 3:47:59 PM6/1/11
to ml-d...@googlegroups.com

This can be done to some extent, be it windows based buy using say an Acer Iconia w500 here : http://us.acer.com/ac/en/US/content/iconia-tab-w500 and using either the EOS utility tethering or using this EOS movie record here : http://sourceforge.net/projects/eos-movrec/
I've tried a w500 tethered with both programs to my 550d and it works very well indeed, no need to re-invent the wheel guys hope this helps ;)

On Jun 1, 2011 2:18 PM, "unity2k" <quantu...@gmail.com> wrote:

arm.indy

unread,
Jun 2, 2011, 1:03:29 PM6/2/11
to Magic Lantern firmware development
I updated the PTP page with experiments using Vmware and
vusb_analyzer...
http://magiclantern.wikia.com/wiki/PTP
and the PTP spec.

Indy

On Jun 1, 3:13 pm, "arm.indy" <arm.indi...@gmail.com> wrote:
> http://magiclantern.wikia.com/wiki/PTPhttp://magiclantern.wikia.com/wiki/Remote_control_with_PTP_and_Python

Alex

unread,
Jun 5, 2011, 6:19:37 AM6/5/11
to Magic Lantern firmware development
Maybe related:

http://chdk.setepontos.com/index.php?topic=6423

On Jun 2, 7:03 pm, "arm.indy" <arm.indi...@gmail.com> wrote:
> I updated the PTP page with experiments using Vmware and
> vusb_analyzer...http://magiclantern.wikia.com/wiki/PTP
> and the PTP spec.
>
> Indy
>
> On Jun 1, 3:13 pm, "arm.indy" <arm.indi...@gmail.com> wrote:
>
>
>
>
>
>
>
> >http://magiclantern.wikia.com/wiki/PTPhttp://magiclantern.wikia.com/w...
Reply all
Reply to author
Forward
0 new messages