You must be logged in to perform this action

This is an old revision of the document!


The diSPIM uses ASI's modular controller, the TG-1000 or “Tiger” controller. It has separate cards for controlling the XY stage, linear stages, micro-mirrors (scanners), triggering cameras/lasers, driving piezo objective movers if present, driving filterwheels if present, etc.


In general firmware updates add new functionality and fix bugs while retaining backwards compatibility, though on rare occasion backward compatibility is compromised. If you are not using Micro-Manager, you should double-check with the vendor of the acquisition software before updating firmware. If you are using Micro-Manager, you should generally download the latest nightly build whenever you update firmware. Conversely, if you are having problems with a recent build of Micro-Manager make sure that the controller firmware is the latest.

Before you begin

Updating the firmware will erase all (or very nearly all) the firmware settings, including the positions of motorized axes, software-defined limits, axis speeds, etc. Move motorized stages to their zero position if feasible, or at least to a known position so the zero position can be easily recovered. Turrets and filter sliders, if any, should be moved to their first position. If you have made adjustments to firmware settings outside of the diSPIM plugin it is advisable to note them down so that you can set them again afterwards. This is not necessary for settings controlled by the diSPIM plugin.

Required software and instructions

To update the firmware you need the ASI Tiger Console software and the latest diSPIM firmware package from ASI (last updated 2018-01-19, firmware version 3.19), or from the diSPIM firmware archive. Use 7zip to decompress. This firmware should work for diSPIM systems sold 2014 or later. A link to download firmware for the oSPIM is found on the oSPIM page.

General instructions for using the ASI Tiger Console software for updating the firmware are here.

Standard firmwares for card addresses on diSPIM controllers are as follows. Omit any cards that your controller doesn't have. If your controller is otherwise non-standard (e.g. the addresses don't match the labels on the front of the controller) feel free to contact ASI for help.

Address Card Usual Firmware Comments
0/30 Comm card TigerComm.hex
1/31 XY stage SCAN_XY_LED__Adr1.hex
2/32 Z/F stages STD_ZF_LED__Adr2.hex STD_ZF__Adr2.hex if no LED being used, FTP_ZF if you have an FTP system (XYZ stage) instead of inverted microscope
3/33 Micromirror MMIRROR_SPIM__ABCD_Adr3.H01
4/34 Piezo P ADEPT_SPIM__P_Adr4.H01
5/35 Piezo Q ADEPT_SPIM__Q_Adr5.H01
6/36 Progr. Logic PLOGIC_16__E_Adr6.hex

In general you should update all the firmware on your controller together. One exception is filter wheel firmware which generally does not need updating.

If you have any trouble please contact ASI.

Extra step with scan-optimized XY stages

In late 2016 ASI transitioned to using scan-optimized XY stages with SPIM systems by default. These stages have 16 TPI leadscrews instead of the usual 4 TPI leadscrew. The leadscrew pitch setting is not stored across firmware updates, so after updating firmware if you have to tell the stage the correct leadscrew pitch (if it is not 4 TPI). If you forget to do this, stages with 16 TPI leadscrew will move only a quarter of the distance than the firmware thinks it is moving because there is essentially an extra four-fold gearing that the firmware doesn't know about.

To tell the firmware about the leadscrew pitch you need to send a single serial command to the controller. In Micro-Manager you can use the property “SerialCommand” of the TigerCommHub device or you can use some other program, both methods are described in ASI's serial communication documentation. Send the serial command, then turn off the controller. After powering the controller back on verify that the setting registered. If you are using Micro-manager you will need to shut it down and restart as well. For 16 TPI leadscrews use the following command: (others can be found in the ASI documentation)

1 CCA X=6

Extra step with pre-3.00 piezo firmware

If you are upgrading from pre-3.00 firmware then the piezo range(s) may need to be set to match the hardware using the PR command. Starting with firmware version 3.00 the piezo range is stored in a way not affected by firmware updates.

To set the piezo range you need to send serial commands to the controller using a serial program. In Micro-Manager you can use the properties “SerialCommand” and “SerialResponse” of the TigerCommHub device, or you can use another program as described in ASI's serial communication documentation. Send the PR command with the appropriate range code followed by the SS Z command for each affected card so that the setting to save the settings to non-volatile memory. For example, the most common configuration is 150um range piezos (range code 3) on axes P and Q which are on cards 4 and 5. For this, send the following commands:

PR P=3 Q=3

4 SS Z

5 SS Z

Afterwards power cycle the controller and verify the setting took effect. You can see the current range in Micro-Manager with the read-only property “PiezoTravelRange(um)”, or send PR <axis letter>? and look at the reply code. Common range codes are 3 for 150um, 4 for 200um, and 5 for 300um piezo range.

Programmable Logic Card (PLC)

The Programmable Logic Card (PLC) is a field-programmable card for digital logic, sort of a mini-FPGA inside the Tiger controller. Its original use is to enable multi-laser control for diSPIM, but it is designed to be very flexible. You can find full documentation of the PLC on the ASI website.

When used for diSPIM under Micro-Manager, the PLC uses a clock signal from the micro-mirror card so that the camera and laser triggers are tightly synchronized with the sheet generation. For Tiger controllers sold with the PLC this is already done, but when the PLC is added to an existing controller a jumper must be added to the micro-mirror card as shown in this photo.

Stage Scanning

Instead of moving the sheet position and imaging piezo to create a stack of images, the sample can be translated through a fixed sheet. Generally speaking this is best for large and/or flat samples. The main advantages are that the light sheet can be thinner for flat samples because the beam waist stays at the same height relative to the coverslip and that there is a nearly unlimited stack “Z” (instead of limitation of piezo range). The main disadvantages are that the output data need to be sheared or shifted before conventional analysis and the minimum time between successive time points is somewhat longer (because the motorized stage can't return to its starting position as fast as the piezo objective mover). In the Micro-Manager implementation, the stage moves continuously in the X axis at an appropriate rate to give the user-specified slice spacing and the beam sweep creating the sheet creates a “stop motion” effect. The stage speed is very uniform and the initial trigger is synchronized with the stage's encoder to give extremely repeatable positioning.

Stage scanning acquisition requires:

  1. An ASI-made XY stage, whether on a RAMM or other inverted microscope (requires tight synchronization of the stage with the light sheet/laser/camera). Since late 2016 ASI has generally shipped scan-optimized stages with SPIM systems; these stages have 16 TPI leadscrews for a slower overall motion (and hence better accuracy with slow moves) and omit the anti-backlash gearing on the X axis for smoothest possible scanning.
  2. “SCAN” firmware module on XY card in the Tiger controller
    • Most users should use SCAN_XY_LED firmware on the XY card (this is the same as STD_XY_LED except with scan module present); this has been in the firmware releases for download (on this page above) since late 2015
    • All firmware should be updated to v3.10 or later (3.09 may be OK)
  3. XY card Rev F2 or later with proper jumper (standard after Jun 2015)
    • Make sure the following jumper is present: this photo
  4. Micromirror card with proper jumper (standard after Jun 2015)
    • For micro-mirror card Rev E3 or later, add this jumper: this photo
    • For micro-mirror card Rev C, it is similar to Rev E3 except the order of that bank of 8 jumper positions is reversed. So for Rev C leave the top position in the bank vacant and fill all the other positions, which means adding a jumper in the 3rd position from the top.
  5. Software support (present in Micro-Manager plugin since mid-2015)

Micro-Manager Implementation Notes

  • The spacing between slices is specified in the plugin, so the stage moves sqrt(2) times that distance per slice. There may be very small rounding errors (which would come out in normal post-processing) but the metadata should contain the actual slice spacing instead of the user-specified one.
  • The initial X position should be the center of the dataset and the stage should return there afterwards.
  • There are three modes implemented, “stage scan”, “stage scan interleaved”, and “stage scan unidirectional”; see the manual's description of the different SPIM acquisition modes.
  • As noted above the data needs to be deskewed before it can be used/viewed in a conventional way. On-the-fly deskewing for visualizing test acquisitions and also for post-processing real acquisitions is in the plugin as of December 2016; the algorithm is fundamentally the same as the ImageJ macro and may not be quite as accurate as a full affine transformation.