Windows App




The Four Tabs

The dropController app has 4 Tabs; Drops, Settings, Graph, and About.

The Drops tab is where you set the drop times and sizes. The drops page also has the controls for the camera trigger and flash triggers.

The Settings tab contains the general settings (things that normally only need doing once), the connection controls, and the valve drain controls.

The Graph tab shows a chart of the drop settings. This helps visualize the drop sequence.

The About tab gives basic information about the app version and, after connection is made, the dropController firmware version.


Settings Tab

I’ll start with the Settings tab simply because there are certain things that need to be set before starting with the drops.

Connecting to the dropController device has already been covered. In addition to making a connection you can dis-connect and test the connection.

Clicking the Test Connection button checks to see if the dropController is still connected. This is a debugging function which I left active because it can be useful.

Clicking Dis-Connect breaks the connection to the dropController. After dis-connecting, the connect button reverts to say Connect and the yellow LED on the dropController device returns to blinking.


Device Version

The dropController App can be used with version 2 and version 3 of the dropController device. This guide assumes version 3.
Select the device version you have.

When using the app with a version 2 dropController certain functions and controls are not available. The dropController V2 device is no longer being developed but bugs are still being fixed when required.


Loop Mode

Loop Mode is explained in the Drops Tab section later.


Reset All

Reset All resets all the settings and drop data. It’s like a return to factory default setting.


The Settings on the Settings Tab


Mirror Lockup OFF/ON
Trigger Pulse times.
Times are in milliseconds.
Leonardo NO/YES
Sound OFF/ON


Trigger Pulse Times

The trigger Pulse Time is the time the trigger signal is active. It is not the time the trigger is performed.

These are not the times the signals are triggered but how long the trigger signal is on.

Times are in milliseconds and 50ms is a good default time. Leave them at 50ms unless you have issues.

Most people will never need to change the trigger pulse times. They were added to a very early version of the dropController to allow me to use an old flash gun that required a fairly long trigger pulse and I simple left them in.



The Leonardo OFF/ON setting is for DIY dropControllers that use non ATMega 328P Arduinos.

I recommend using an ATMEGA328P based Arduino such as the Nano but other types of Arduino can be used. Some though, require slightly different controls. For example, the Arduino Leonardo requires additional commands for serial communication to work. This control turns on the additional commands.

If you are using a commercial dropController (either pre-built or made from a kit) then you will not need to change this setting.



Turn annoying sounds on and off


Valve Drain

The Valve Drain controls allow you to open and close any of the solenoid valves. This is handy when you want to empty the reservoirs/bottles and for cleaning.

Click a button to open the valve. Click again to close it.


Drops Tab

Here is where all the action takes place, where the times for the drops are entered, where the camera trigger time is set, and where the flash triggers are controlled.

There are three sections;
– the drop data settings & number of drops,
– the trigger settings, and
– the START button.

Drop Data

Each drop has several properties:

SOL The solenoid valve to use (from 1 to 6). The number relates to the valve connection port on the dropController.
START The drop start time in milliseconds.
INC/DEC Increase or decrease the start time (used in Loop Mode only).
INC/DEC Time How much time (in milliseconds) to either increase to decrease the drop start time. 000 is off.
SIZE This is the amount of time (in milliseconds) the valve is open. In this guide I use milliseconds to describe the drop size. For example, a drop size of 30ms.
INC/DEC Increase or decrease the size. Loop Mode only
INC/DEC Time The amount of time (in milliseconds) to increase or decrease the drop size on each iteration of the loop. 000 is off

When using Loop Mode you can increase or decrease the drop start time and the drop size on each iteration of the loop.

Number of drops

Select from 1 to 9 drops.

After selecting the number of drops the controls for those drops become active.

After changing the Number of Drops to 2, the first 2 rows become active.



Camera trigger
Flash 1 trigger
Flash 2 trigger
Flash 3 trigger


Camera Trigger

The Camera Trigger has 3 modes; OFF, ON + Shutter, ON + Bulb

The camera trigger can be turned ON and OFF.

When OFF the controls are inactive and the camera shutter trigger signal is not used.

When using Bulb Mode the shutter is opened just before the drop sequence starts and closed just after the sequence finishes.
When in Bulb mode the camera trigger properties are inactive.

To use Bulb Mode your camera must support bulb mode and be in bulb mode.

When the Camera Trigger is ON and Bulb Mode is OFF the camera trigger controls are active. Enter the time (in milliseconds) you wish to activate the camera shutter.

In Loop Mode a delta valve can be used to change the camera trigger time on every iteration of the loop.

Ideally, the camera should be in manual mode or bulb mode when used with the dropController.

Flash Triggers

There are 3 Flash triggers and each trigger works in the same way.
Each flash trigger can be turned ON or OFF. When OFF no trigger signal is sent to the flash.

When the flash trigger is ON the flash trigger time (in milliseconds) can be entered. In Loop Mode a delta valve can be used to alter the trigger time on every iteration of the loop.

When using multiple flash guns, the flashes should all be connected to a single trigger. The additional flash triggers are designed to be used to fire flashes at different times, not to fire separate flashes at the same time. For more details about using multiply flashes see Using Multiple Flashes.


The START Button

When the app is not connected to the dropController the large START button is a dull green and inactive. When the app is connected the START button turns bright green and becomes active.

When connected, clicking the START button tells the app to send the drop data to the dropController device. Depending on which mode you are using, Single Sequence Mode or Loop Mode, different things happen.

In Single Sequence Mode the data is sent immediately to the dropController and the drops are created straight away. In Loop Mode the Loop Page opens and sits and waits.


Single Sequence Mode

The app is in Single Sequence Mode whenever it is not in Loop Mode.
Whenever Loop Mode is OFF the app is in Single Sequence Mode.

In Single Sequence Mode, a single drop sequence is used. On clicking the START button the drop data is sent to the dropController and the START button changes to ACTIVE

On the dropController device, the yellow LED turns off and the green LED turns on. The green LED shows that a drop sequence is active on the controller.

When the sequence is finished the green LED goes out and the yellow one comes on again.

In the app the large button returns to the green “START” button. You can then make changes to the drop times or redo the same sequence.


On clicking the START button, the drop data is sent to the dropController and the drops are created. While the drops are being made the app remains on the drop data page with the START button disabled. After the drops are finished the START button becomes active again.

In Single Sequence Mode delta values are ignored.


Loop Mode

Loop Mode is the heart of the dropController and it is Loop Mode that makes getting collisions so easy.

When Loop Mode is ON, when the large START button is clicked, the Loop Page opens

To activate Loop Mode, in the Settings Tab set the Loop Mode OFF/ON button to ON. The Loop Mode controls become active.

In Loop Mode there are 2 methods used to start the next sequence, either a timer or a button click.

When TIMER is selected a timer is used to delay the next drop sequence. When BUTTON is selected, the next sequence is held until the user clicks the small START button.

The Loop Page with a timer counting down. The next sequence will start when the timer reaches 0.

The Loop Page waiting for the small START button to be clicked. The next sequence will start when the button is clicked.

The Timer/Button button sets the delay method.

When using TIMER, a count down delay is used. The Wait Time is how long the app waits before starting the next sequence. The time is in seconds.

You will need to experiment to see what wait time suits you. I generally use around 10 seconds. This allows time for the water in the tray to settle and also allows time to move any bubbles out of the way.
If you find you are constantly removing bubbles or adjusting things then it is probably better to use the BUTTON option.

When using BUTTON, the app waits for the user to click the Loop Page START button.

When using the TIMER option the first drop sequence is started as soon as you click the START button. After the first sequence is completed the timer will start a countdown and when it reaches zero the next sequence will start automatically.

While the timer is counting down, clicking the STOP button pauses the app at the current sequence number. Click START to continue. To reset the sequence number back to 1 click the RESET button.

The app has been paused at
Sequence 4.

RESET resets the sequence to 1 and the drop data to the start values.


Delta Values

Delta values are values that change inside a loop on every iteration of the loop. For the dropController, this is the drop start times, the drop sizes and the trigger times. Any value that has a INC/DEC control has a delta value.

The INC/DEC button allows you to either add to or subtract the delta value. INC for increase and DEC for decrease.

For example, on every iteration of a loop you can change the drop start time, make the drop smaller or bigger, and move when the flash fires.

Here, even though Loop Mode is ON, the INC/DEC times are set to 000 so they have no effect. The drop sequences will loop but the times will not change.

Here I have added a 10ms delta valve to the start time. This means Drop 1 will start 10 ms later every sequence (or iteration of the loop).
– On the first sequence, the drop will start at 0 ms,
– on the second sequence it will start at 10 ms, and
– on the third it will start at 20 ms and so on.

There is no size delta value so the drop size will not change.


Loop Page Labels

The Loop Page shows the drop data for the active drops

SOL The solenoid valve being used.
START The drop start time with the delta value in square brackets.
STOP The drop stop time. This is calculated by the app.
SIZE The drop size with the size delta value in square brackets.

ML: Mirror Lockup (OFF, not being used)
CT: Camera Trigger (in BULB mode)
FT1: Flash Trigger 1 (set to trigger at 2120ms. No delta).
FT2: Flash Trigger 2 (OFF)
FT3: Flash Trigger 3 (OFF)


Delta Values In Use

Let’s see a delta value in use. In the below example I am making the drop start at a slightly later time each loop/iteration.

Loop Mode in ON and the I am using Button delay.

There is one drop which is on SOL 1; the start time 0000, start time delta is 10ms, size 30ms, size delta 000. The start time delta is set to INC so the start time value will increase 10ms every loop.

The Camera Trigger is on and set to Bulb Mode. A single Flash Trigger is active and set to 150ms. These settings aren’t important for this example.

Since Loop Mode is ON, when I click the START button the Loop Page is displayed.

Click the START button, this sends the drop data to the dropController device and while the drop is being made the button changes to ACTIVE.

When the sequence is finished the button change back.

In the drop data table, you should notice the Start Time change.

and the Sequence number increase

Delta Value Limits

The times that are changed due to a delta value cannot go outside of their normal range. If the value exceeds these limits it is set to the limit.

For example, the drop start time has a minimum start value of 0 and a maximum of 9999. If a delta value tries to make the start time lower than 0 then it is set to 0. If a delta value tried to take the start time beyond 9999 then the start time is set to 9999.

To explore delta values further see the First Drops guides.


Drop Data Error Checking

The dropController App has basic error checking and will notify you if there are any issues with the drop data

For example, in the below, both drop 1 and drop 2 use the same valve and start at the same time. This is not allowed.

When the START button is clicked the drop times are checked and if there are any problems an error message is displayed and the problem times are highlighted in red.

Clear the errors to proceed.


Graph Tab

The Graph page shows the drop times and trigger times in chart form. This aids visualizing the drop times and is especially useful for more complex sequences.

The first time you use the app the drop times are very basic and the graph doesn’t show much.

Once you have started to enter drop data the Graph gets a little more interesting.

Here we have 3 drops, the camera is in Bulb Mode and Flash Trigger 1 is set to fire at 254ms.


About Tab

The About Tab shows the app version, the dropController device firmware version.

There is no auto update function so you need to manually check the dropController download page on the website.