Canon eTTL Decoder

The path was clear. If I wanted to control my underwater strobes from my G16, I would need to create a magic decoder box. It would translate between Canon eTTL digital protocol and Nikonos analog TTL protocol. Simple in concept: digital goes in, analog comes out.

This is a problem calling for a microcontroller solution! Easy enough, There are several readily available hobby boards to choose from. Seems like a perfect excuse to spend some time and money playing with technical gadgets. 

I quickly realized that the prime considerations were size and packaging (and then maybe power...). From a packaging perspective I had 2 choices

  • Create an external water proof container for the decoder
  • Jam the decoder inside my camera housing

Let's ponder the external container option for a moment. Creating a waterproof container that will survive the immense pressures exerted on it by the extreme depths of the oceans is actually trivial: a baggy full of oil is sufficient. The oil does not compress, so there are no pressure concerns. The baggy is "water proof" so it will keep salt water out of the innards.(I learned this from my Uwatec dive computer, thin plastic shell, oil and electronics inside.) Unfortunately my current world was more complex. The controller requires power. This generally means a user replaceable battery. Which means I need to be able to open and reseal the container. There is also the issue of the wired strobe connections. For practical purposes you need to be able to detach the strobes from the decoder and the decoder from the camera. The most practical solution for this is using industry standard Nikonos style bulkhead connectors and cables (and I already own a bunch of them). I also projected that I would want some kind of control switches. Water and pressure proof ones.

Constructing an external decoder housing seemed daunting. One option would be to re-purpose an existing housing. And they exist! Sea & Sea has several (out of production) models of TTL converters. These beasts are analog to analog decoders. They are hard to find and the owners believe they are gold plated ($400 USD). Ikelite also made an external strobe controller. Much harder to find. I think I have seen 2 on eBay in the last few years. (I might discuss external TTL converters in future posts?)

So I decided to go internal for my decoder.

This eliminated all waterproofing issues as well as the cost / complexity of bulkhead connectors. I have already installed a Nikonos style bulkhead connector in my housing and have cables to connect to my strobes.

Size now became the issue. The controller and all its gubbins had to fit inside my housing, tucked around the camera somewhere. This imposed a rigid set of real physical constraints. I needed a very small microcontroller board. Off the shelf, since I am lazy.

I was vaguely familiar with the Arduino project so I looked there first. And was horrified at the size of the boards. They were huge! A quick check of some other common hobby boards revealed the same largeness. On reflection, it made sense. These were general purpose hobby boards that were designed for people to tinker with. They needed to be large enough to provide a wide range of sensor connections.

So I investigated further and discovered the Sparkfun Pro Mini Board. Game on!