Monday, 16 September 2013

Sony Action Cam Survives Flood

Got to the seabed at 30m ( 98ft) and tried to turn on my camera and nothing, water sloshing around inside, flooded.

This is with the newer underwater case like this...

With the double video light set-up I had just clipped it to a chest D-ring and an extendable lanyard, it was not in the bag on my belt ( stowed away) and I suspect when we did a roll-off the back, it must have hit something to loosen the front door.

Anyway, at depth I wrote it off and continued the dive.

Once back on the boat, I immediately removed the battery and drained the salt water, filling the case up with mineral water, closing up the case again, giving it a good shake. I did this several times on the boat until I got back to the hotel where i again rinsed it under a tap and left it underwater for an hour to get any remaining salt out. After that, it was drain and leave to dry ( room temperature ). Once home it went into the cupboard with the heater for another 2 days before attempting a power-up and test.

Took the memory card out and inserted a new battery, powered up and it made the right noises. Menu works without the memory card but the Wifi-remote does not. Re-inserted the memory card after checking it on a PC ( in an adpater) that the card was ok and could record no problems including sound.

Noticed the PREV button is not working and the date stamp on all files copied across is 01-01-12 (UK). Just need to reset the time back again.

I think I can live without the PREV button as you can just press NEXT to go round the options.

Next test is to get wet and try the case on its own but looking ok.

I don't think this resurrection is too uncommon as a friends Go-Pro 3 had a similar problem, his only failure was the lcd screen on the back...

The battery that flooded looks a goner. (Correct)...

Whilst looking on the web for a solution I found a Youtube video of a guy dissembling the Action Cam to correct a rattle, I don't have a rattle but this gave me the info to look at PREV button issue...

The two small screws next to the USB port secures the electronics to the case, undo these and you can slide out the camera itself from the case: Take off the USB cover and the facia plate.

Note the corrosion on the screws.
Small battery on the bottom right for the RTC?

Not related to the flooding but noticed this rusting on the tripod mound on the base of the housing....Thread is still ok but greased it up anyway to limit the rust.

Update : PREV button is now working, not sure why!

Friday, 6 September 2013

Measure Torch burn time and compare outputs with an Arduino Uno and bh1750fvi-e.pdf ( lux meter)

I was curious as to how long my batteries were lasting in my torches. I tried turning them on and watching to see when they dimmed/turned off, mostly I missed the inevitable end.... Also trying to gauge power output was proving problematic, they all look very similar. So, something a little more scientific was required.

I thought the answer was a bh1750fvi-e sensor which is a calibrated light sensor readily available and easily interfaced to. In fact all the code/circuit was already on the internet, just needed a small tweak to add a timestamp and capture to file.

The principle is :

1) An Arduino Uno has a bh1750fvi-e sensor connected to it via the I2C bus.
2) The Uno reads the sensor every 1 second and outputs to a connected PC a timestamped value.
3) The Pc captures the Uno's output in MS HyperTerminal, to a file.
4) Load the file in MS Excel and graph it.

An example is shown below, from a Ultrafire G2-t60 torch with a fully charged 18650 3.7V 2500ma Trustfire battery loaded. Its draws about 2.2A at the tailcap. Distance from Torch to Sensor, approx 20cm..

Looks like only a 50 minute burn time.

The graph shows Lux, Foot-Candles and Wattsm2.

I had hoped to measure Lumens but that is a completely different measurement, google it, its not trivial... So the magnitude of the graph is sort of irrelevant in the graph unless you want to compare power outputs between multiple torches.

Lux is the only value returned from the sensor, the other two were included in the code I found on the internet and derived from the Lux value, might loose them.

The torch was about 20cm from the sensor, the further away you move it the values go down. I suspect this was too close and the initial values of the torch at full power are maxing out the sensor. To compare torches, i'll experiment with greater distances, if this is a 800-900 lumen torch then to provide some future proofing in comparisons with more powerful torches i'll try increasing the distance to 1m.


Arduino Uno because I had one..
PC for connecting to the Uno for programming and recording the values ( USB).
BH1750FVI Digital Light intensity Sensor Module for Arduino, like this from ebay..

Datasheet for sensor...

I used a breadboard to prototype it up...

And test like this:

Circuit is only 4 wires to support the sensor's power requirements and the I2C interface. Its listed in the programme below.

 Arduino Light Meter


 BH1750 sensor module connections:
 BH1750                        Arduino
 VCC      --------------->     5V
 SCL      --------------->     Analog pin 5 (A5)
 SDA      --------------->     Analog pin 4 (A4)
 ADD      --------------->     Leave it open
 GND      --------------->     GND


#include "Wire.h" 
#include "math.h"

// macros from DateTime.h 
/* Useful Constants */
#define SECS_PER_MIN  (60UL)
#define SECS_PER_HOUR (3600UL)

/* Useful Macros for getting elapsed time */
#define numberOfSeconds(_time_) (_time_ % SECS_PER_MIN)  
#define numberOfMinutes(_time_) ((_time_ / SECS_PER_MIN) % SECS_PER_MIN) 
#define numberOfHours(_time_) (( _time_% SECS_PER_DAY) / SECS_PER_HOUR)
#define elapsedDays(_time_) ( _time_ / SECS_PER_DAY)  

int BH1750_Device = 0x23; // I2C address for light sensor
int iCheck = 0;  // iCheck = 0 for Lux, iCheck = 1 for Foot-Candles
unsigned int Lux, Scaled_FtCd;
float FtCd, Wattsm2;

void setup()

  Serial.println("Time,  [lx],  [FC] , [Watts/m^2]");

void loop()

  Lux = BH1750_Read();
  FtCd = Lux/10.764;  /*Foot Candle*/
  Wattsm2 = Lux/683.0;

  time(millis() / 1000);
  Serial.print (",");  

  Serial.print (",");


  Serial.print (",");



unsigned int BH1750_Read() //
  unsigned int i=0;
  Wire.requestFrom(BH1750_Device, 2);
  while(Wire.available()) //
    i <<=8;            //Highbyte/Lowbyte read
  return i/1.2;  // Convert to Lux as per datasheet..

void Configure_BH1750() 
  Wire.write(0x10);      // Set resolution to 1 Lux / continous H-Res mode

void time(long val){  
 int days = elapsedDays(val);
 int hours = numberOfHours(val);
 int minutes = numberOfMinutes(val);
 int seconds = numberOfSeconds(val);

 char time_c[13];

 sprintf(time_c,"%02d:%02d:%02d" , hours, minutes, seconds); 

When you run the programme from within Arduino IDE you can verify the output using the Serial monitor in the Tools menu. I thought there was a way of capturing it direct from there but couldn't find it, so i opted to use the old terminal emulator supplied with Windows ( Hyper Terminal under Programs/Communications).

First of all exit the Arduino IDE to free up the USB port and then run up Hyper Terminal.
Create a new connection which is:-
Connects using the COM port used by Arduino IDE ( mine was COM8 for the USB port).
Bit Speed = 9600

Enable capture to file using the Transfer menu option "Capture Text"

To capture text with the headings from the Uno's output, Call the device to reset the Uno and get it to start logging from 00:00:00 and output the headings. You can Call / Disconnect the Uno to reset its output anytime.

I left the torch on overnight, stopped the capture the next morning, loading into MS Excel as a CSV file and graphed it. The first row in the file contains the series names.

Not so plain sailing...

I tried again with the same torch ( Ultrafire G2-t60) and a premium Xtar 3.7v 2600 to see if that made any difference to the run time....

Started it off and after 30mins noticed a nice warm plastic smell, it was running so hot it was burning the plastic surface it was resting on ! I had to let it cool down and repeat the process, making the excel graphing a nightmare.. ( with the current timestamp). But it ended up like this:-

Let it cool down !

Final Run.

Total Runtime at max power ish... = 55mins, it was beginning to drop off but I can't imagine it would be noticeable. Looks like the Xtar battery was only slightly better that the Dealxtreme Trustfire battery.

Next steps:-

Reduce the frequency from every 1s reading to say 5s to reduce the number of rows.
Try 1m distance between sensor and torch to be able to compare torches of wider Lumen output.
Heat management, work on a heat dissipation method.
Review the timestamp format to make Excel work easier and stopping/starting.
Waterproof sensor, so I can measure dive torch run times.
Gather some more data with different torches/LEDs/Battery to work on the comparisons.


Created a waterproof version so I can measure dive torches burn time and not worry about overheating...

Placed the sensor in an acrylic tube and used a rubber bung to block if off. The tube was an offcut from my dive torch project Here

I shortened the bung so the sensor could sit as far down the tube as possible, as the torch is resting on the bottom of my bucket and the beam is quite low.

I used the waste from the bung to make a wedge to keep the sensor in place.

Then place the torch and the sensor in a bucket of tap water, pointing the torch at the sensor.

The wire is 4 core alarm cable but could be anything, length is about 1m back to the Arduino Uno board.

Now I can run the torch without worrying about heat, in one test, I ran the torch for 2hrs and it was barely warm.

In testing the triple XML light ( link here .light. ) I've noticed that the circuit/program doesn't detect the flickering you sometimes get when the battery is going too low to drive the LED... Pro

Sunday, 1 September 2013

Underwater Video Light - Dual light for Sony Action Cam

After the success of my single video light ( with reflector removed) I modded another identical light to fix a number of issues I discovered i.e. a small shadow in the top right corner and add a little more power..

So, I've added an identical light to the other side and moved the lights further closer to the camera itself by attaching them further up the handle.

The second light was modified in a similar way to the first, only the shape of the metal plate is different... rather a square rather than a strip in the first. Still jammed in rather than fixed in any way.

Used the same clip as before, using a bit of inner tube to provide a little extra friction, underwater I found the lights moving when I turned them on/off. From ebay :

EPDM Rubber Lined P Clips Hose Pipe Clamp Cable Wiring Metal & Stainless Mikalor, 27mm pipe fitting.

Going diving next week and will post the results...

Update : Made a slight mistake in diving with the camera set to slow mo which ruined my videos, slow mode underwater is not a good idea.. The camera also flooded on day #2 so i didn't get much shooting done. Did get this clip with the dual light though :-

Update: Another version of this set-up...

Monday, 15 July 2013

DIY Underwater Video light for my Sony Action Cam

Previously I had mounted a simple dive light to the side of my goodman handle which had the video camera mounted on like this...

But the issue was, the reflector in the torch was creating a hot spot in the images.

So I set out to remove the reflector from the torch and move the LED to as close to the lense as I could, to create a wide angle light. Basically copying the off the shelf video lights on the market.

So, I bought another one of the Cree lights ( as per my blog) and modded it like this...

Disassemble the light and remove the LED module...

The LED pcb on top can be lifted upwards, it has some play in the red and blue wires but not enough to bring the LED to the front of the torch, so these need to be lengthened..

I unsoldered the original wires from the LED pcb, found some new cable of the same colour ( multi-core) and soldered them up like above.. I also put some insulation tape over the connections. New length is only about 1.5 inches..

To hold the LED pcb close the lense, I cut a 40mm length of steel angle line and tie wrapped the LED pcb to it, placing a good squirt of heat sink compound between the two.

The steel strip is only held in place by virtue of it being a tight fit.

Inside the head there is an edge where starts to get narrower, I measured this edge to be 40mm approximately in diameter, so if I cut something of that length it would sit on the edge rather falling in.

I'm working on a neater solution with a 40mm washer instead but it was a good prototype solution.

I was worried that the LED would get too hot given the small piece of metal now acting as a heat sink and relatively low contact area with the side of the torch but its not had a problem.

The next major problem to overcome is, the reflector is used to hold the LED module against the battery to make the circuit. Removing the reflector, basically makes the module and battery fly upwards and out !

To overcome this, I glued the module into the head with J-B Weld.

You need to be very careful here, because glueing the LED module in the wrong position will stop the magnetic ring selector working i.e. no turn on.

To get round this slight issue, mark inside, the position you will want to glue it in. I turned the ring into the ON position, pushed the LED module down and turned it until the light came on constantly. Then I marked on the LED module and the inside of the head like so..

This gives you the correct position.

To fix it in and make the circuit with the battery underneath, I removed the spring on the underside and glued  the mating edges.

Pushing it in, lining up my marks and leaving overnight to set.

Once the glue has set, you can place the LED back in the head, on its new base and tighten up the lense/bezel.

In my 'prototype' the metal plate is a snug fit so once pushed in it isn't going moving too soon. I didn't need to do much else.


Went diving this weekend, 2 dives to 28m ( 91ft ) and 20m ( 65ft ) , no issues with leaks so happy and the light spot is gone !

Tompot Blenny on the MV Aeolian Sky.  I think this was taken around 23m, vis was 2-3m and distance 1m to subject.

About 1m - 1.5m to subject.

Some observations..

In the first image above, the light is cut off in the very corner, which i think might be the furthest corner from the light, I reversed the image because the Tompot decided he wanted to stay upside down which doesn't make for a good picture so the bottom right in fact the top left in the real life, which at opposite end on the rig from the light. My only thought is to move the LED closer to the lense.

Even a second torch would sort that one out or mount higher up on the handle.

The second image shows some backscatter i.e. the muck in the water. It was pretty bad but maybe positioning the light further away/up would sort that out ?

I like the look of the Light For Me setup for the GoPro with its butterfly/adjustable clamps on the side...If I can find those I might invest in them.

On this dive and those ambient light conditions, the light only had a range of 1.5m approximately, beyond that it, it looses it's effectiveness so you need more power! Maybe a second light on the other side of the rig. But I do like the size/ease of use of this set-up, it fits in a pocket so no special entry requirments.

The light became a bit loose in the clamp, will need to put some inner tube around it to give it some grip.

Further bits:

Remembered the camera was on Underwater scene mode, 120 degrees ( widest angle the SteadyShot works on) and 1920×1080/30P(HQ).

More thoughts:

After 7 dives with the new double light configuration, in varying UK conditions, green/dark good/bad vis, I've observed the following...

1) At Max setting, two lights give an adequate light on the scene at a range of 1m (3ft), this is in darker waters. Night dive might be better further away, lighter / closer to the surface your going to need to get very close to make a difference, say 0.5m ( 1.5ft).

2) Backscatter, the lights are quite close to the camera and like a stills camera its suffering from backscatter. Strangley its ok at the short ranges <1m but as u get further away from the target its pretty awful. Its a shame because the form factor is really neat and not bulky at all. But you can't live with it, its too annoying. Only solution I can think of is to move them off the goodman handle with arms like the Light For Me design. Need to see whether that suffers from the same issue before investing in those arms.

3) Torches slipped in the  brackets. Thicker rubber tubing required.

4) The 3rd torch i purchased, I couldn't remove the pill to make the modification, maybe it needs a little more force but I avoided this by using the ones i can mod for use as video lights..

Cree Dive light - Magnetic Ring...

The mode selector was getting stiff on one of the Cree dive lights I bought. I tried to move back and forth to loosen it up and it jammed completely, oops. Right, apply some more force and the whole assembly fell off.

NB To remove the ring, you need to disconnect the head from the body and turn the ring to the off position as there is a groove for the magnet to slide through. Then slide off with a little force, the magnet might run on the o-rings.

It looks like this :-

On one side there is a small hole to contain a spring and ball bearing ( that sits on top).

On the opposite side of the head is a groove for the magnet.

There were signs of rust around the magnet and the hole so maybe the spring / ball bearing are rusting...

Reassembled the whole thing quite easily. Might take it apart again to oil it.

Update after 30 odd-dives :

The ring now has completely free movement, no notch. The spring has completely rusted up and fell to pieces when I removed it. The ball bearing was fine.

Its too loose underwater like this as it keeps turning itself off, so to provide some resistance to the ring movement, I added a piece of inner tube which seems to work...

Thursday, 27 June 2013

SONY HDR-AS15 Action Cam

My second Canon Ixus 75 flooded again, the plethora of Go-Pros when diving and a recent trip to Scapa Flow seduced me into the world of video... As per usual, instead of following the herd I tried not to go to the default route of a go-pro 3 and choose the Sony action cam. The lense quality, sensor low light capabilities and price brought me to this device. It doesn't have same level of accessories as the go-pro but thats fine...

I also bought a spare battery, charger and underwater flat ported door from Sony.. You need a flat port for diving.. google it..
Purchased from John Lewis Stores £199, Amazon £20 and ebay £35 for the door pack.
Action Cam Replacement Doors — 2 Pack
Model number:  AKA-RD1

To  mount it, I used the provided flat surface clip on mount, tie wrapped to a goodman handle. This was in turn secured to me by a retractable lanyard clipped off on my right chest D ring.

Tie wraps (T&B) and not cable ties, are 2mm width for extra strength. Two each side of the mount.

Two tie wraps on each side, going through the holes in the goodman handle and the mount, crossing over to give extra strength.

Retractable lanyard.

To protect it when I jump in, I keep it in a Bowstone pocket on my belt and then remove once in the water. Its always clipped off to the right chest D-ring.. I thought I would need a bolt snap on it for extra security but i've not used it yet.

Its a bit fiddle to get out of the bag but it works. I think thats the bags fault!


As my first trip was going to be deep and dark ( like most UK dives tbh) I added a light to the goodman handle.

It was a bit of a lash up and the angle bracket that the light was attached to, seriously rusted... so the mark 2 is shown below. This uses, from ebay...

EPDM Rubber Lined P Clips Hose Pipe Clamp Cable Wiring Metal & Stainless Mikalor, 30mm stainless steel and a M4 X 12 A2 SOCKET CAP HEAD SCREW HEX ALLEN KEY BOLT A2 STAINLESS + Bolt.

I also updated the firmware to the latest version, this gave it more shooting modes but more importantly, introduced the underwater scene mode, essential! 

The biggest issue with this setup is the spot from the light shows up too much on the video, it needs to be diffused. I tried a plastic opaque top from somewhere in the kitchen but it doesn't diffuse enough..

I had the diffuser on a detachable bungey so that I could use it as a general torch but I never did remove it underwater....

This is a frame from the video with the light on full power with the diffuser. As the camera has no viewfinder, its a bit of suck it and see. The torch does have a number of power settings but this didn't seem to remove the spot, just reduce its intensity.

This was my torch shinning from the left ( wrist mounted) which is useful for lighting from the side, its like painting the light..

Here is a picture with mostly natural lighting ( beam from left is faint) , its probably a cloudy day, 26m depth... Its the Hull/Deck of the Dresden...

Next quest is for a better method of diffusing the light. Maybe remove the lense and just have the LED "bare" or another material in front...? Watch this space...

Some initial observations :

I thought the flat port was quite obtrusive and might cause a leak if it were knocked, but so far so good.. after a week of fairly abusive behaviour its ok.

In the 170 degree mode ( wide angle), I noticed I could see the flat port lense and a bit of image distortion at the periphery which annoyed me. I think you need to stick to 120 degrees underwater. Maybe blue water diving would be ok but in green/dark. I also found my primary light caught the edge of the port and caused a flare mark.

Battery life is quite impressive, I did 6 cold water dives without changing the battery, I only changed it after that to be safe at 40% ish. This is one thing I had heard about the GoPro 3 that sort of put me off.

Although I bought mine 3-4 months after the firmware upgrade, the one I purchased from the store was old firmware i.e. didn't have the underwater mode. Its not big deal but just don't get disappointed the mode is not there initially, download and install, easy.

Accessories, well there not as prevalent as the GoPro fittings but it does have a standard tripod mount which opens the door to quite a bit. I used the supplied quick release mounts to attach to the goodman handle.

GoPro humidity pads fit inside fine. In fact there seems to be quite a bit of space around the camera ( 2mm ;).

The wireless feature is a novelty, I don't think I will ever use it, there is a version without wifi which is cheaper so that might be a better bet. 

Price, i like, it cost me £199 from John Lewis and another £35 for the door pack.  Given the environment you takes these devices into and their propensity to flood ever so often, I'm not laying out mega bucks...

I've put some sample videos on my Youtube channel..



A new firmware version was released in June which I didn't notice, just loaded it and have yet to get it wet, new version is v3.0.0, previously I was running v2.0.0.


Just got back from a Red Sea liveaboard..... Northern Wrecks and Reefs... Dual light worked a treat, really brings out the colours on the reef... limited range mind, maybe 1m max in good conditions...but definitely worth it because just a little light is needed to turn from a dull blue into something else..

I'll try to put some of the wreck penetration videos up soon...