Creating “The Splash”

Creating "The Splash"Over the last few days, Flickr Explore has been sizzling with multiple pictures of Vincent Riemersma featuring splashes in wineglasses.

We asked him to explain how he made these pictures and was willing to share this information. He kindly agreed.



Building the set-up for the splash photo’s is more simple then one might think.

The main goal is to make a set-up where all the variables can be controlled to a high level.

For this purpose the glasses are glued to a shelve. The shelve is mounted on an old skate-frame. I had to add the skate-frame since sliding the shelve alone did not give the desired speed, and more importantly, did not give reproducible speed and timing results.

The skate-shelve is placed onto another inclined shelve where a metal rod is taped on to be able to release the glasses from the same position every time. That’s it.

Creating "The Splash"
note: one glass broke loose from the glue the last session.


As surprising as this may seem, those photographs are only illuminated with one strobe.

The strobe is pointed at the white wall behind the set-up and sound triggered (i.e. activated when hearing a sharp noise). Because we bounce the light off the wall we get a smooth homogeneous light that will shine through the liquid onto the camera. This gives a better result than when firing directly through the glasses.

Creating "The Splash"

Taking The Picture

So when the picture is taken the glasses where filled, the light is dimmed, the shutter is opened with a 3 second exposure.

The glasses are released from the marked position. Gravity pulls them down, hitting a fixed board with a sound trigger attached. Flash is triggered. Shutter closes, picture taken.

The plastic sheet is for catching up all spilled liquid which can then easily be cleaned. This works rather good, only a few drops every now and then manage to land on the floor or on objects nearby (in case the wife thinks it is a bad idea to experiment because of the mess :)

Creating "The Splash"

Sound Trigger (The Geeky Part)

When the shelve hits the fixed board, a piezo element detects the noise. This in turn triggers the flash using an arduino and a sound trigger solution form the site.

We already discussed how Hiviz can work together with arduino in a previous article on DIYP. (We also showed a solution where the arduino can shut the lights for you).

Using the Arduino (or the delay circuit from Hiviz) is beneficial since it gives the user maximum control over important parameters in high speed photography.

Playing with the delay time is important for splash photo’s because you do not want the flash to fire early when all the liquid is still in the glass. And of course, you also do not want the flash to trigger to late, when all the liquid is already on the floor.

Although there are plenty alternatives for the arduino board, this board offers easy off use for a relative low price. In this project I used the arduino decimila which will put you down for about $25. The easy off use can be explained using 4 lines of the (short) code:

digitalWrite(flashPin, HIGH);
digitalWrite(flashPin, LOW);

When the piezo detect the sound the code enters an if-loop where this code is included.

With the first line (delay(100)) we tell the arduino to wait the giving time in milliseconds (so in this example 100ms) before continuing to the next line.

After 100ms the arduino will set the flashPin to high.

On this pin a SCR is connected that will shortcut the two flashwires when the input is HIGH and shortcutting these wires will fire the flash. After this we pull the flashPin back down.

Then we tell the arduino to wait for 4s (4000ms) so we are certain that any extra noises will not let the arduino enter the if-loop a second time and fire the flash again.

Understanding Delays

This short Arduino code has two delays built in. Let see why.

The first delay (100) is there to allow the liquid to move a little after the impact.

If we remove the first delay the flash will fire immediately when the noise is detected.

When the shelve hits the fixed board all the liquid is still in the glass. When we add a 100ms delay we give the liquid time to move due to the inertia and pile up out off the glass.

This way it is easy to change the result just by making the delay longer or shorter.

The second delay (4000) is there to make sure we only get one pop per photo.

If we remove the second delay the flash will fire every time a sound is detected. So for example, when we throw a hand of dice and remove this delay (I removed the first one as well to get instant flashes) we get the following result:

Dice madness

Off course the glasses will only hit the board once. However when the liquid hits the ground, the flash is fired again.

Therefore the second delay is set to longer than the used shutter speed to make sure only one flash can be fired every exposure. Creative people will also see the benefit in this coding when thinking multiple exposure. Changing the code to:

digitalWrite(flashPin, HIGH);
digitalWrite(flashPin, LOW);
digitalWrite(flashPin, HIGH);
digitalWrite(flashPin, LOW);

will result in a 100ms pause, a first flash, a 100ms pause, and a second flash and then the 4s delay to make sure no extra flashes can be fired.

The simplicity in this coding opens up so much possibilities. Just by adding or changing delays we can generate any flash pattern wanted.

In Action

It is always advisable to first make a test shot with the glasses in the position we want take the photo (so where they are after the shelve hits the fixed board).

After (auto) focusing on the glasses we set the camera to manual focus, dim the lights, clap your hands to fire the flash and check the result.

Adept camera and flash settings/position until the desired result

SPLASH - testshot

When we are happy with the result, all we need is action. Pull the glasses up, dim the lights, open shutter, release the glasses, flash fires.

SPLASH - set-up

Wait for the shutter to close and check the result.


Now you can change the delays or the angle of the runway-shelve, vary the amount of liquid per glass, colour, viscosity etc. until the desired picture is taken.

For example different levels and colour intensities:

Family wave

Or a 150ms delay instead of 100ms:

Losing Liquid

If you’d like to see more of Vincent Riemersma’s work, check his excellent flick stream.