Canon E-TTL Timings

More success from Bill Grundmann in his attempt to decrypt Canons E-TTL protocol !

It appears that there is a consistent 4msec delay between when the CLK signal from the camera body drops to GND and when the actual flash is triggered.  This would give us plenty of “leeway” in our timing to sync with the shutter I would guess.

Then next part of the puzzle is to now trick the body that it has a flash in high speed sync mode attached to achieve some high sync rates.

Next week I’ll start investigating this further (already got a pretty busy weekend on the cards )

For those of you that shoot Nikon, it might be worth looking at what Bill has done so far and see if those with knowledge can do the same for the Nikon protocol.  With the knowledge of both major protocols we just might be able to have both vendors protocols talking to each other via the Strobit Triggr.

Well done Bill and keep up the great work!

Bills’ Post: http://billgrundmann.wordpress.com/2009/03/19/canon-ettl-protocol/

Strobit Triggr and Canons E-TTL

Seeing as I’m a canon person as far as bodies and lens goes I thought I’d look into the E-TTL protocol and how the camera body and the flash can talk to each other.

I’m not looking to completely implement the E-TTL protocol in the Strobit Triggr, (well not yet anyway), but more along the lines of fooling the camera body that I have an E-TTL capable strobe attached and thus enable high speed sync mode.  If we know what the sequence is between the camera and the flash is, then  I can play around with the timing of the Strobit Triggers.  Why do we need to do this?

  1. By not using E-TTL we are then limited to standard hotshoe only sync speeds,  so when the camera triggers the hotshoe we are at least guaranteed 1/60 – 1/250 etc rather than some higher sync speeds like 1/1000 or more.
  2. Wireless as a transmission medium has some inherent lag due to the physical properties (i.e. air) so if we can fool the camera I have a high speed strobe attached and so enable high speed sync mode, the camera triggers will still be out of sync due to this lag.  So with some knowledge of the basic E-TTL sequence and by playing around with the timing I should be able to get the Strobit Triggrs to fire early, before the actual camera fires and still be in sync with the high speed shutter.

While I’m waiting for the boards I will look at playing around with this idea, I’ve just ordered a cheap canon E-TTL flash extension cord (http://www.dealextreme.com/details.dx/sku.19612) so I can gain access to the hotshoe contacts easily with my logic analyser. 

Unfortunately one of my biggest stumbling blocks is that I do not own or have access to a Canon E-TTL flash, (the only non canon equipment in my kit are my strobes mix of Nikon and Vivitar), thus started some research, it just so happens that Bill Grundmann has recently started his analysis of the E-TTL protocol and making fantastic headways.  Dang he has saved me a huge amount of time!  Well done Bill!

Strobit Board – some minor tweaks

Ok not quite finished, but almost there!  I’ve had to make a few minor changes.  I’m glad I’ve taken the time to learn and play around with Eagle 3D, it had highlighted some potential clearance problems.  Rather than rush things I’ve decided to take a bit of time modelling than fork out my $$$ and get some prototypes made only to find these problems down the track and could have avoided.  Granted Modelling is not a silver bullet, and I guess I could be here forever, but now I’m a lot happier.

Changes:

  • Moved SMA antenna connector back from front edge of the PCB as it was hanging over slightly.  This connector is optional at assembly.  The pad can be used to solder on a wire antenna instead.
  • Changed switched power side on the switch, The switched side of the On/Off switch was very close to ground plane coming under the switch so had the potential to short, now is nice and clear.  I’ve also added some more ground plane clearance around the switch contacts just to be on the safe side.
  • Added solder jumpers for LEDS, probably don’t want these enabled if a personality board is on, but it gives you the option to use them or not, and re-use the I/O if required.
  • Moved vias and tracks away from standoffs.

Todo:

  • I think I really need to isolate the 2 power sources from each other, i.e. the Power from the USB and VBAT, so I’m looking at putting in a BAT54C barrier diode.  Just need to research it a bit more.
  • Still don’t know what to do with the ICSP connector.  I will probably leave it there with the option of putting it on at assembly.  I’m pretty sure that it will clear any personality board with a bit of care.  Modelling the personality board is my next step.

triggr-010

Eagle3D

These are components I’ve created for Eagle3D.

You may also want to check out the tutorials on how to create your own components.  http://blog.everythingrobotics.com/tutorials/eagle3d-tutorials/using-google-sketchup-to-create-components/

Components

HopeRF RFM12B SMD 433Mhz/915Mhz RF Module

RFM12BSMD

Microchip MR24J40MA FCC Approved 2.4GHZ 802.15.4 RF Module

MRF24J40MA

Sparkfun SMA PCB Edge

SMA_FEMALE_PCB

PJ-326 3.5mm Jack http://www.switchcn.com/

PJ326

900Mhz GSM SMA Antenna attached to PCB SMA Connector

SMA_connector_antenna_hor

Downloads:

Strobit Eagle3D Library (19/03/2009) Download

Links

Disclaimer:

These are provided AS-IS and may contain bugs and or discrepancies and may not be to scale.

If you find any bugs or problems or make enhancements please feel free to contact me so I can update the downloads.

Strobit Google Sketchup Models

I’ve been playing around with Googles sketchup over the weekend and have created some components, one the RFM12B module and a basic camera hotshoe to scale.  It’s been a great little exercise in learning both Alibre and Sketchup as I’ve been wanting to get some 3D modelling practice, I’m finding that it’s easier to create things in Alibre and then export them to Sketchup.  Alibre does not support texture mappings in the drawing or export to POV, but Sketchup does it brilliantly, while on the other hand, Alibre’s3D modelling is very easy to use.

Currently the workflow is:  Model in Alibre –> textures in Sketchup – > POV Rendering– > Eagle3D Components.

Keep an eye out for more to come.  I’ve started a Stobit Collection in Googles 3D warehouse  for use with this project and will be adding to it as I go.   I’ll be putting the Eagle3D component files that I’ve created online shortly.

Basic Triggr Personality

Ok here is the 1st basic trigger personality board.

Features:

  • x4 LEDs for visual indication.
  • x2 Push Button Switches, one tied to input for manual triggering/testing, the second independent, could be used for channel or function selection, both could used in conjunction with LEDS for advanced function selection.
  • 1 Strobe output. 400V Max (so will work with older type strobes)
  • 1 protected TTL trigger input. 
  • Small prototype area.
  • Low profile, All large components are mounted underneath.

Still a little cleaning up required but basic functionality is there.

Still TO DO:

  • Change MOC3023 to SMD footprint, I don’t really want the possibility of a large strobe voltage right where a thumb might be.

Basic Triggr Personality PCB

image

Follow me on Twitter / Strobit Update

I know I’m a bit slack in updates on the blog.  If you haven’t noticed I now have a twitter account  http://www.twitter.com/madeinoz so you can follow what I’m doing when it’s not getting updated here.

However since the blog is way over due for an update here is what’s been happening in a nutshell.

Strobit Trigger:

I have finally gotten off my butt and done a redesign (hah and you thought the project had died a slow death, it may have stalled slowed, but certainly not dead!)

Features worthy of note in the new design (in no particular order):

  • 3V design, will run from x2 AA Alkaline or single CR123A 3V battery.
  • Fairly compact board, 30mm x 70mm. (without battery)  slightly lalonger on 2.4ghz design due to antenna.
  • Onboard on/off switch to save batteries when not in use.
  • FTDI 3.3v breakout cable port for connecting to either RS232 or USB using the FTDI cable.
  • Onboard ISCP port for programming.
  • Personality daughter boards.  Will allow users to create their own hardware modules, i.e. sound trigger, light trigger, LCD UI, or whatever they like etc
  • Atmega168V processor, low cost, low voltage design = longer battery life.
  • Can run Arduino bootloader, so developers have access to Arduino development libraries.
  • I’ve designed 2 different boards.  One using the RFM12B module at either 433Mhz or 915Mhz.  The second board I’m going to try a 2.4GHZ design using Microchips FCC certified MRF24J40MA 802.15.4 module, this is purely experimental so I don’t have any testing done yet, but I have some of these modules and would like to try them out, also being FCC certified will be an added benefit.  (not to mention I’ll be using these for a mesh sensor network project I have planned around the house)
  • RFM12B board design has external SMA antenna.
  • Base PCB board designs are done and I’m fairly happy with them so far, I’m just finishing a basic personality modules which I can used for testing and maybe another one so I can make up the  max designs I can have on a single panelized board (may as well get the most designs I can get fabricated when I send it off to GoldPheonix).  I’ve done some initial Eagle3D runs to get an idea of the boards and so I can post them on the blog, but I really need to learn how to create components in Eagle3D as it leaves unknown components blank, i.e. the RF modules and therefore looks incomplete.  (anyone that can help me here please contact me)

Still To Do:

  • Panelize boards
  • Send to GoldPheonix for PCB fabrication.
  • Assemble and test.

I’ve also been playing with learning Alibre, a fantastic 3D design package (they have a free version) so I can get some ideas for building enclosures design for these boards.

RFM12B PCB

image

MRF24J40MA PCB

image

Strobit M8 Files

Jans Gentsch has made his compact version of the Strobit Triggr available to the community, his version, the Strobit M08 based on AVR design can be found here.   Please note that there are a couple of things that need doing to the PCB, if you get a chance to implement Jans design, please post back any changes to me so I can make them available.

Hello Stephen,

I’ve attached the Eagle-Design-Data as well as the source code. I haven’t found time to do anything on those since my post, so the are not in the best state. There are a few Problems with the board design:

Transmitter – There is a connection missing between the processor and NIRQ of the transmitter-module (the transmitter module doesn’t have a fifo, so that the nirq-line is needed to clock out the data). I just added a piece of loose wire during assembly.
Receiver – NIRQ isn’t connected as well, so I am constantly polling, not really a power saving design. however I am still running on the first set of batteries so it’s not like they are being drained empty immediatly.
IO-Board – Thr optocoupley was meant to sit on the bottom side but I got confused. It has to sit on top now.

Getting everything into the housing was a major challenge.

The source code has been developed using avr-gcc and the eclipse ide.
As it stands only the most basic function, tiggering, is working. The control flow will have to be reworked in order to add the rest of the functionality. And of course my “magic” trigger id should be changed.

Have fun!

Alle the best
Jan

Files

You will need Eagle PCB to view/edit the schematics and PCB files, found here –http://www.cadsoft.de/

The firmware is written using winavr found here – http://winavr.sourceforge.net/

StrobIt In the Wild

IMG_8198.JPG, originally uploaded by jgentsch.

The first StrobIt Triggr seen in the Wild!

Jan has made a neat and well packaged version of the StrobIt Triggr. Based on the AtMega8 it runs from a single AA battery. Well done Jan!!!

StrobIt Board

Ok I have finally had a little bit of time to work on things (will be short lived as I’ve just bought a house and moving in the next couple of weeks Aghh!!).

Things are getting very close to reality after many design changes, the very nearly final Strobit Trigger base board, aka a modified Ardiuno BT board, with the Bluetooth removed and now fitted with the RFM12B SMD Tranceiver module and an external SMA antenna connector. The Eagle 3D side of things still needs work as some components are not shown and the inductor for the DC-DC converter is incorrect, but you get the basic idea right!

Why have I gone to a non-dedicated trigger board?

Well a couple of reasons, initially to cover myself from any patent issues that might have arrisen had I used a dedicated wireless triggering device, but mainly to allow better expandability. Why have a dedicated trigger with all the fruit and only use half of it, this way dedicated boards can be used, i.e. standard trigger, or sound/light trigger, sequences etc. Another reason is that the Ardruino is very well established and supported in the open source community, especially when it comes to the firmware libraries etc, it’s already been done. also I can use these in my robotics hobby as well, not just for photography.

Ok onto the board features:

  • Fairly compact same size as ArduinoBT
  • Standard Arduino Pin headers, so should be able to use with existing shields.
  • Will operate from as low as 1.2V, so should work from x1 NIMH AA easily enough.
  • RFM12 Tranceiver, up to 300m range (as per datasheets, although it does depend on the datarate)
  • SMA connector so you can connect an external antenna for better reliability and range, or remove the SMA connector and use a piece of wire as the antenna.

What is left to do?

  • Well the design is pretty well done, I want to get some prototypes made so I will be sending it off very shortly for fabrication.
  • Different variations of shields need to be done, first one being stock standard strobe type of triggr, input and outputs, then others as needed