top bar


Summary: Adapter for the TriggerScope using Micro-Manager firmware
Author: Nico Stuurman, based on code by Austin Blanco
License: LGPL
Platforms: Linux, Mac, and Windows
Since version: 2020-09-08

Serial port settings:

AnswerTimeout 500
BaudRate 115200
DelayBetweenCharsMs 0
Handshaking Off
Parity None
StopBits 1
Verbose 0 (1 for debugging)


The Triggerscope is an Arduino-based devices that provides 16 analog outputs and 16 digital outputs. These outputs can be used to control equipment such as illumination light sources and z-stages. Outputs of the Triggerscopes can be directly controlled from the computer using serial commands. Outputs can also be pre-programmed and then cycled through this program by pulses (for instance generated by a camera) connected to one of the input ports. This enables fast synchronization between devices. This firmware and device adapter were created for smooth inter-operation between the TriggerScope and Micro-Manager (there also is a [TriggerScope device adapter] for the original TriggerScope firmware).

Firmware Installation

This adapter was written for "MM" firmware. Download from its Github repository and install using the Arduino IDE.


This device adapter exposes the TriggerScope through 16 analog out devices (only use those you need in the Hardware Configuration Wizard) and 2 digital output devices. The digital output devices each control 8 TTL outputs (1-8 and 9-16 respectively). Both TTL output devices have properties to set the state of the individual digital output pins. Use those to determine the desired "State". However, do not use these in Channel preset, but use the "State: property instead. Doing so will greatly reduce the amount of communication with the device, hence speed things up (and make it possible to use Sequence driven by the input trigger).

To use the TTL outputs as a shutter, select the "State Device Shutter" (from the Utilities adapter) in the hardware configuration wizard, and set its "State Device" property to the TriggerScope TTL device.

To use a DAC to drive a Z stage, connect the DAC output to the Z-stage, and select the "DA Z Stage" from the Utilities adapter.

To use a DAC as a shutter, use the "DA Shutter" device from the Utilities adapter.

All DACs and TTLs support "blanking" and "sequences", causing the output to respond to the state of input pin 1 within micro-seconds. Blanking will cause the output to go to 0V when the input pin is low (or high). Sequences will be pre-loaded to the Triggerscope, and changes in input pin state will cause transition to the next state. Blanking and sequences can be combined. The "Utilities" devices will use blanking and sequencing capabilities (if they are enabled in the TriggerScope properties). The exact response time will vary somewhat with the number of DACs and TTLs that are actively blanking/sequencing; each TTL (group) will add about 3 micro-seconds, and each DAC will add about 25 micro-seconds.

© Micro-Manager : Vale Lab, UCSF 2006-2011 | All Rights Reserved | Contact