DSLR Trigger Intervalometer

DSLR Trigger is designed to control a DSLR camera to providing accurate start and end exposure times, measured in milliseconds.

It will probably work with all makes of DSLR cameras if they have a shutter release socket that fires when the resistance between the jack plug contacts transition from infinite to zero ohms. It has been tested with various Canon DSLRs. The 'Mirror Lock' functionality will work on all DSLRs that use the first button press to flip up the mirror, and the second to take the shot. Mirror Lock cannot be used on cameras that only use a single button press (flips up the mirror and takes the shot a set time afterwards).

Help page: DSLR Trigger Help for Main panel and Settings dialog.
Help page: Calibrate shutter open lag How to calibrate shutter open delay by photographing LEDs on relay switch.
Help page: Calibrate shutter close lag How to calibrate shutter close delay by photographing a block moving within a grid.

I wrote this software for the DSTL ARGUS project (see DSTL ARGUS press release) so that the Basingstoke Astronomical Group could use DSLR cameras to accurately measure satellite/space debris positions. Ideally the time accuracy needs to be within tens of milliseconds. We first tried commercially available software. However, even the software that logged the start time with millisecond accuracy had timing errors that were many hundreds of milliseconds out. We believe that these errors are caused by the camera USB API. Perhaps there is a polling time delay?

The solution was to use a USB Relay Module (USB controlled switch), wired to the camera's shutter release socket. This software requires a USB relay switch that uses the following commands:

Data (1) - startup logo (the default is 0xA0)
Data (2) - switch address code (the default is 0x01, identifies the first switch)
Data (3) - operation data (0x00 to "off", 0x01 to "on")
Data (4) - check code
For example:
Open the USB switch:A0 01 01 A2

We used a HALJIA USB Relay Module wired up to a 2.5 mm stereo jack plug. The wiring is correct if there is infinite resistance between the stereo jack plug contacts when the USB relay has no power / is not connected to the computer.
To ensure accurate PC time, if we had internet (e.g. via WiFi) at the observing site, we used Meinberg NTP along with its monitoring program NTP Time Server Monitor. With no internet, we used a USB GPS dongle (Ublox-7 GPS module) and NMEATime2 software to train the PC clock. Start training the clock in good time, and don't let the PC sleep.

If you are using the Ublox-7 GPS dongle, you need to download DSLRtrigger_USB-GPS_U-blox7.zip. This is due to a virtual COM port that does not play nicely with the third party RXTX COM port code. This modified version will work, unless you select the GPS's COM port. If you do, you will need to restart DSLR Trigger.

Download the appropriate DSLtrigger zip file and unzip into a folder of your choice. To run, double click on the DSLRtrigger.jar executable jar file. To uninstall, delete DSLRtrigger.jar, rxtxParallel.dll and rxtxSerial.dll

DSLR Trigger is written in Java, and requires Java JRE Version 8 or later https://www.java.com/en/download/

This program is supplied with two dll files that are required in order to access the COM port on a Windows computer. To run on LINUX, the Java code would not need to be modified, but a different shared library would be required.

COM port code:
RXTX binary builds provided as a courtesy of Fizzed, Inc. (http://fizzed.com/).
Please see http://fizzed.com/oss/rxtx-for-java for more information.

DSLR Trigger java code.zip
John Murphy,
1 Mar 2019, 04:57
John Murphy,
1 Mar 2019, 04:57
John Murphy,
1 Mar 2019, 04:57