PkTriggerCord

Remote control (tethering) software for Pentax DSLR cameras. Supported systems: Linux (x86, arm), OpenBSD, Windows, and Android.

After you connect the camera to your PC with the USB cable, you can control the camera from the computer. You can read status information, you can change several settings, and you can take pictures. The pictures are stored in the camera's buffer and can be downloaded to the PC. Pictures are not written on the SD card of the camera.

The program uses undocumented features of the cameras. Use it at your own risk!

Cameras

Full support

You can take pictures, read status info. Individual camera models might have limitations.

  • Pentax K-x
  • Pentax K10D (Samsung GX-10)
  • Pentax K20D (Samsung GX-20)
  • Pentax K200D
  • Pentax K-7
  • Pentax K-r
  • Pentax K-5
  • Pentax K-m / K2000
  • Pentax K-30
  • Pentax K-01
  • Pentax K-5 II / K-5 IIs
  • Pentax K-50
  • Pentax K-3 / K-3 II
  • Pentax K-500
  • Pentax K-70

Limited support

You can take pictures, change settings using the command line version, but you cannot read the status fields. Limited version of GUI allows taking a picture (only one, you need to save (only PEF) or delete it before taking the next one), but camera settings cannot be read or modified.

  • Pentax istDS2
  • Pentax istDL
  • Pentax K100D Super

Not working

The following cameras has been tested and reported not to work

  • Pentax istDS
  • Pentax istD
  • Samsung GX-1L
  • Pentax K110D
  • Pentax K100D
  • Pentax K-S2

Testing

The following cameras are not yet tested, please read this if you can help.

  • Pentax K-S1
If the program is not working correctly please check the tips and tricks page.
If you want to help adding support for new camera models or you want to test a model not yet fully supported, please check this documentation.

Download

Binary

You can also download previous releases from here.

Source code

Please note: This software is crosscompiled under Linux for Windows. If you want to compile it, you need Linux.

Documentation

The program has a command line interface, a GUI, and an Android port.

Commandline interface

The program has a rich command line interface. Some of the functions are only available here

            
              Usage: pktriggercord-cli [OPTIONS]


              --model=CAMERA_MODEL              valid values are: K20d, K10d, GX10, GX20, K-x, K200D, K-7, K-r, K-5, K-2000, K-m, K-30, K100D, K110D, K-01, K-3, K-3II, K-500
              --device=DEVICE                   valid values for Linux: sg0, sg1, ..., for Windows: C, D, E, ...
              --timeout=SECONDS                 timeout for camera connection ( 0 means forever )
              -w, --warnings                        warning mode on
              --nowarnings                      warning mode off
              -m, --exposure_mode=MODE              valid values are GREEN, P, SV, TV, AV, TAV, M and X
              --exposure_compensation=VALUE     exposure compensation value
              --drive_mode=DRIVE_MODE           valid values are: Single, Continuous-HI, SelfTimer-12, SelfTimer-2, Remote, Remote-3, Continuous-LO
              -i, --iso=ISO                         single value (400) or interval (200-800)
              --color_space=COLOR_SPACE         valid values are: sRGB, AdobeRGB
              --af_mode=AF_MODE                 valid values are: AF.S, AF.C, AF.A
              --select_af_point=AF_SELECT_MODE  valid values are: Auto-5, Auto-11, Spot, Select, or numerical value
              --ae_metering=AE_METERING         valid values are: Multi, Center, Spot
              --flash_mode=FLASH_MODE           valid values are: Manual, Manual-RedEye, Slow, Slow-RedEye, TrailingCurtain, Auto, Auto-RedEye, Wireless
              --flash_exposure_compensation=VAL flash exposure compensation value
              -a, --aperture=APERTURE
              -t, --shutter_speed=SHUTTER SPEED     values can be given in rational form (eg. 1/90) or decimal form (eg. 0.8)
              -r, --resolution=RESOLUTION           resolution in megapixels
              -q, --quality=QUALITY                 valid values are 1, 2, 3 and 4
              --jpeg_image_tone=IMAGE_TONE      valid values are: Auto, Natural, Bright, Portrait, Landscape, Vibrant, Monochrome, Muted, ReversalFilm, BleachBypass, Radiant, CrossProcessing, Flat
              --white_balance_mode=WB_MODE      valid values are: Auto, Daylight, Shade, Cloudy, Fluorescent_D, Fluorescent_N, Fluorescent_W, Fluorescent_L, Tungsten, Flash, Manual, Manual2, Manual3, Kelvin1, Kelvin2, Kelvin3, CTE, MultiAuto
              --white_balance_adjustment=WB_ADJ valid values like: G5B2, G3A5, B5, A3, G5, M4...
              -f, --auto_focus                      autofocus
              --reconnect                       reconnect between shots
              --servermode                      start in server mode and wait for commands
              --servermode_timeout=SECONDS      servermode timeout
              -g, --green                           green button
              -s, --status                          print status info
              --status_hex                      print status hex info
              -S, --settings                        print settings info
              --settings_hex                    print settings hex info
              --read_datetime                   print the camera date and time
              --read_firmware_version           print the firmware version of the camera
              --dump_memory SIZE                dumps the internal memory of the camera to pentax_dump.dat file. Size is in bytes, but can be specified using K, M, and G modifiers.
              --dust_removal                    dust removal
              -F, --frames=NUMBER                   number of frames
              -d, --delay=SECONDS                   delay between the frames (seconds)
              --file_format=FORMAT              valid values: PEF, DNG, JPEG
              -o, --output_file=FILE                send output to FILE
              --debug                           turn on debug messages
              --noshutter                       do not send shutter command, just wait for new photo, download and delete from camera
              -v, --version                         display version information and exit
              -h, --help                            display this help and exit
              --pentax_debug_mode={0|1}		enable or disable camera debug mode and exit (DANGEROUS). Valid values are: 0, 1
            
          

Detailed description can be found here.

You can also use the command line interface to create a timelapse if your camera does not support interval shooting. You can find a tutorial here.

GUI

The GUI requires GTK2. It does not support all the features of the command line interface.

pktriggercord camera settings pktriggercord camera buffers pktriggercord main window pktriggercord status info window

Development

You can find more information at the GitHub project page. Feel free to send pull requests if you enhance the program. If you want to add a new camera model or fix a model specific bug, it is very likely that you only need to modify the pslr_model.c file. This software is crosscompiled under Linux for Windows. If you want to compile it, you need Linux.

There is no official documentation of the Pentax tethering protocol, but you can check our Pentax SCSI protocol documentation.

This program is based on PKRemote for Linux and PKRemote for Windows programs.