How To – Gain Full Control With A Basic Water Housing

IMPORTANT – please note that the latest versions of Magic Lantern do not support Pico C scripting, you can still use the scripts but you’ll have to use an old build of Magic Lantern, read more, and download the version I use, here:

I have a Canon 60D and an Aquatech CR-60 housing, this housing is Aquatech’s most basic design, it gives me access to the following controls on the camera:

  1. Shutter – via a two stage pistol grip or a physical button which depresses the shutter button on the camera
  2. The top wheel – the one next to the shutter button, I can rotate this by turning the knob on top
  3. The Live View button – ideal for starting and stopping recording when in video mode or activating Live View in any of the stills mode.


That’s it, if you want to be able to have more control over your camera you will need to order a new back plate with extra controls on it, or upgrade to a more expensive housing with the controls built in as standard… until now.

Why would you want extra controls?

So far when using my housing I have shot in shutter priority mode, this allows me to adjust the shutter speed and have the camera work out the appropriate aperture and ISO to get correct exposure, many surf photographers will tell you that manual control is key to getting the best shots, especially with changing lighting and the need for a crisp image.

I have also had to choose whether I wanted to use manual focus or auto focus before putting my camera in the housing, there’s no way to use back focus. Back focus separates focusing from pushing the trigger, half pressing no longer causes the camera to try and focus, instead you press a button on the back of the camera, in surf photography one main use for this is when shooting fisheye.
It enables you to shoot under and over the water in one session and to re-set the focus if it gets knocked out of line (no more taping the focus in place).


This shot of Ed duck-diving was taken with the camera set up for above water shooting, the focus is close to infinity when it needs to be a few inches beyond the dome port to get the reef and surfer in focus.

Those are my main motivations for trying to get more control from the housing I have.

Why not upgrade or modify the housing?

A water housing is one of the most expensive items you will buy when getting into surf photography, even the cheaper range of Aquatech’s still go for about £1000 without the extras like pistol grips and ports.

I don’t have the money to invest in a new housing with more controls on it, especially if I end up not using them very much, until now there’s been no way to even try it out to see if it’s worth the upgrade.


Modification is another option, but making waterproof controls is hard work, even if you buy something like an Ikelite control set up or an old housing for parts, you still need precision tools and expertise to make them work effectively.
I prefer not to do any modification that affects the integrity of the seal on the housing.

How can I get the extra controls?

This is the interesting bit, I’ll try and make it as concise as possible but you can always check out the links at the bottom for more information on anything I’ve glossed over.

Essentially we add some free software and a bit of code to an SD card in the 60D which tells it to perform some actions when the Live View button is pressed.

For the purposes of this how-to I will assume you’re using a Canon 60D with a CR-60 housing, I’m sure you can apply these same steps to most Canon DSLR’s and basic housings, you might need to tweak the scripts a bit but let me know if you’re having issues and I’ll try and help.

1: Magic Lantern


Magic Lantern is an add on to Canon DSLR firmware, it’s not official and could harm your camera in some rare circumstances, have a look at the website which tells you all about it’s many features, read the disclaimer on the site, obviously I don’t want anyone to ruin their cameras, I have had no problems but that’s no guarantee that you won’t.

Magic Lantern can be run on most of the range of Canon cameras surf photographers are likely to use, including the 60D, 7D, 5D mk2 & 3 and most of the less expensive consumer models too.

I’m not going to go into detail about Magic Lantern, check out the website and be aware of all the disclaimers before adding it, I’ve never had a problem and the features it adds are amazing, especially for shooting video.

You will need a nightly build, not the stable release, this is because we need it to be able to run PicoC scripts and this isn’t part of the official stable release yet.

I’m going to assume you have got a version of Magic Lantern which supports PicoC scripts on your SD card and your camera recognises it.

2: PicoC scripts

It took me a while to figure this out with the help from the Magic Lantern forum, if you know how to programme this will make more sense to you than it does to me, I got there through trial and error and now you can use these scripts in the same way I have.

I’ve tried to annotate the scripts so you can see what each bit does in case you want to change them, but they work well for me as they are and they allow you to change the basic settings to suit you from within the script, so you shouldn’t need to change them too much if at all.

To get them on the camera either download them using the links, or just paste the text into a new text file and give it the file extension “.c”, for example: LVaf.c

Then just put them in the ML/scripts folder on your SD card.

Script 1: Auto Focus with LV button


download link:

Script Code:

/** */

// Select duration of auto focus when live view button is pressed, default is 1 second

@title Focus With LV Button
@param n Focus duration in seconds
@range n 1 5
@default n 1

int key = wait_key();

if (key == LV)                // when Live View button is pressed
console_hide();            // hide the script console

set_af(1);                // disable AF for half-shutter press

press(SHOOT_HALF);        // emulate half shutter being pressed
sleep(n);                // hold button for n seconds
unpress(SHOOT_HALF);    // emulate releasing half shutter

set_af(0);                // enable AF for half-shutter press


if (key == SET)                // when Set button is pressed
break;                    // end the script

Script 2: Manual Controls with LV Button


download link:

Script code:
/** */

// Select duration of pause on each option in the Q menu, default is 3 seconds

@title Manual control With LV Button
@param p Pause in seconds
@range p 1 9
@default p 3

int key = wait_key();

if (key == LV)
console_hide();        // hide the script console

click(Q);            // emulate pressing the Q button when LIVE VIEW button is pressed

click(RIGHT);        // emulate pressing the Right button after p seconds

click(LEFT);        // emulate pressing the Left button after p seconds

if (key == SET)                // when Set button is pressed
break;                    // end the script

At this stage you will have the scripts in the scripts folder on your SD card and your camera will be ready to go, there’s a couple of things you need to do to prepare the camera first though.

3: Prepare your camera


  1. Set up back focusing, I have my camera set up like this generally now, it makes a lot of sense once you use it for a while, but it will seem weird for a bit if you’re used to half pressing the shutter for focus. You need to press the Q button, then navigate to custom controls on the right hand side, press set twice, then change it to mode 1, then press set again, now you can’t focus with the shutter button, instead you press the AF-ON button on the back right hand side of the camera to activate focusing.
  2. You need to go into the menu on your camera and disable Live View shoot, it’s the top item on the fourth menu tab from the left. This stops the camera trying to activate Live View for you when you press it, you cannot use live view with this script, I never use it anyway but if you do I’m sure you could adjust the script accordingly.
  3. Set Auto Power Off to off, this is the first option on the seventh menu tab, if the camera goes to sleep when your script is running when you wake it up by pressing a button it will wake up but the script will not be running any more, so this ensures that the camera will not go to sleep and lose your script in the process, you could also set it to 15 or 30 minutes because it’s unlikely you’ll be bobbing around that long without taking a photo or changing the settings/focus.
  4. I also like to turn off the LCD display, press the info button to cycle through the display options until it goes blank, this will conserve battery now that you’ve turned off Auto Power Off, you do still get the image preview when you take a photo, (I set my preview time to 8 seconds to give me a better chance of seeing it before the next wave comes).
  5. Finally I’d suggest selecting the one shot focus mode if you’re using the back focus script, and if you’re using the manual control script you should press Q and make sure that Aperture is highlighted before starting the script.

4: What the Scripts do

Here’s a brief description of the scripts, check out the video or the scripts themselves for more info.

Auto Focus with LV Button

  • first select “n”, which is the duration of auto focus in seconds, default is 1 second which works for me
  • run the script
  • put camera underwater, press the Live View Button to activate auto focus for “n” seconds
  • focus achieved underwater, take photo’s
  • point camera at your swim fins above water and press LV button to auto focus
  • focus achieved above water, take photo’s
  • when session over take camera out and press set button to end script

Manual Controls with LV button

  • first select “p” which is the duration of the pause on each setting in the Q menu
  • run the script
  • adjust shutter speed with top dial
  • when you want to adjust aperture press the LV button to open the Q menu with Aperture highlighted for “p” seconds
  • with aperture highlighted adjust aperture with top dial
  • after “p” seconds the highlight moves to ISO, adjust ISO with top dial
  • after “p” seconds highlight moves back to aperture, adjuts again if required
  • you can take pictures at any stage of this process, if you want to move the highlight beyond ISO you can half press the shutter when ISO is highlighted, next time you press the LV button it will start on ISO and move to the next item, be aware you will have to scroll through all the items in the Q menu in the same way to get back to aperture if you do this.

As you can see the manual control is not a replacement for true physical controls, but it allows you to adjust setting you wouldn’t otherwise be able to and it’s free, I think if you find yourself using it a lot it’s time to look at upgrading housing or at least back plate to one with more controls.

5: Test and use it in the water


Now is a good time to do some tests, put your camera in the housing and press the Live View button, see what happens, get used to the timing, remember you can change the duration of the focusing or the time it pauses on each setting to suit you.

Hopefully this will inspire you to try out manual mode or back focusing with your basic housing, it’s allowed me to test it out and I’m happy enough with these scripts that I’m not going to be upgrading housing until I get a new camera body, and even then I’ll be hunting for one which is compatible with Magic Lantern so I can keep tinkering.

I’m certain that there’s other interesting things you can do with PicoC scripts and the Live View button but those are the first two I thought of so I wanted to get something sorted for them first.

the next step is to combine the two scripts for manual control and back button focus, perhaps alternating between the two or activating one with a long button press if possible.

If you have any other ideas for scripts or need some help with setting up your camera let me know in the comments or on the Facebook page.

Links and Resources


  1. You’re an absolute legend Ben – thanks so much – that script to provide manual control gives so much more functionality to the CR 60 (and similar housings) – so grateful for your effort and help!

    Thank you!

Leave a Reply

Your email address will not be published.