LX-4000 stage controller notes

The LX-4000 is the stage controller used in the Illumina Genome Analyzer 2. It’s a custom stage controller made by ASI somewhat similar to their ASITiger controllers. The controller is essentially a chassis with a backplane providing power and common bus to expansion cards. This post contains my notes on using this controller.

The LX-4000 contains 3 cards. The FW-1000 (filter wheel), a “Z/F” card (Objective, Z-axis), and a “X/Y” card. The “Z/F” and “X/Y” cards are essentially the same design. These PCBs are labelled “Two Axis Board” on my device one is “REV. C” (the X/Y) and the other is REV. D.


All 3 cards have ports that look like RS232 ports, only the port on the “Z/F” card can be used to communicate with the device. Commands for the other cards are routed over the internal backplane.

The FW-1000 card has a port labelled “RS-232” on my instrument this is not physically connected to anything. The filter wheel can be controlled manually by pressing the “NEXT” button or via the “Z/F” serial interface.

A CH340 based USB serial converter works well with the LX4000. Many CH340 RS232 converters work quite poorly, seemly mostly on the transmit side. A number of issues I had with getting the LX4000 to work with micro manager were caused by the device only registering some of the commands the CH340 was sending. I therefore recommend getting a better USB serial adapter. The Edgeport 8port serial card supplied with the Genome analyzer works well. Probably a (real) FTDI device would work well too.

The USB-serial adapter should be attached to the usually included “Reverser” (I believe a null modem converter). Baud rate is 115200 (8N1) on the “Z/F” card.

When powered up the serial will output “F” or “FX”. It may also report “MOTOR 1 NOT RESPONDING” or similar. This indicates that only one filter wheel is installed, and is not an error.

The general command set seems to follow the MS-2000 protocol.

While the instrument is initializing it’s possible to enter serial commands such as “1H I Z”, which will return information regarding the Z axis. However after a few seconds the device will start replying with “BELL”s (or possibly just in hex). I had issues getting the device to respond here.

However, the ASI TLX4000s.exe application will happily communicate with the controller and control everything except the X/Y stage without further modification (see notes on the X/Y stage below).

The LX4000 command set seems to be similar to the MS2000. However commands need to be prefix to address the required stage as follows:

1H: z stage
2H: x-y stage
3F: filter wheel

Micro manager is supposed to support the LX4000, but depending on the version you have you may have issues. I found that initial setup with the ASI software is most reliable. This software is a single exe called “TLX4000s.exe”, available from this excellent blog post on the GA2 ASI stages (or local copy). The software is somewhat troublesome to get working on modern systems and appears to have been written in Visual (Basic?) 6. The various runtime library either don’t work, or don’t include all the necessary components for Windows 10. My route to getting this working was to create a Windows 7 VM, then install Visual Studio 6. This doesn’t take long and insures that all the necessary libraries are installed.

In the genome analyzer the socket labeled “LIN ENC” on the X/Y card is as I understand it connected to the door sensor. The only pins connected on the genome analyzer are pins 5 and 8. This seems to provide a hardware lockout on the X/Y stage when the door is open. The following image shows a 1K resistor between these two pins, and when connected to the “LIN ENC” socket will allow the X/Y stage to operate. Take care when creating/installing this as shorting the wrong pins can damage the X/Y card (see “Cards” below).

Without this is place, the X/Y stage will not move on my unit, the Z stage and filter wheel will however happily work.

I was able to get the LX4000 to work with micromanager 1.4 and 2.0 ( and MMSetup_64bit_2.0.0-gamma1_20210309). But things seem fairly unstable (much more stable with a good USB serial adapter, but auto-detection is still problematic). You need to add the following devices: XYStage/ASIStage ZStage/ASIStage and ASIFWController/ASIFW1000. Sometimes stages were detected correctly, sometimes not… (my config is here). I generally had to enter the COM parameters directly, scanning was not reliable.


It’s wise to be careful when shorting pins on the jumper connector shown above. Shorting the wrong pins dumps (likely RS232 level signals?) possibly on to the 5v power rail, or elsewhere. It’s possible to kill the card by doing this.

If this happens, it will likely blow a 5v trace near the expansion card connector. This traces are very thin and act like fuses… I’ve done this… repairing the trace seems to fix the card…

Repaired 5v power trace…

All the expansion cards seem to use Silicon Labs MCUs. C8051F122s on the two axis cards. C8051F015 on the FW1000.

The two axis cards uses TDA7269As to drive the stages.

Card communicate across the internal bus. The Z/F is the controller. If the Z/F card is not present the FW-1000 and X/Y cards will not come online (the LEDs and displays will not illuminate).

Jumpers SV3 and SV1 on the rear of the Z/F card control how control signals are routed across the backplane. If they are not present, the other cards will not come online. Here’s the default jumper configuration:

Here’s the default jumper configuration for the XY card:

There’s also a set of jumpers near the serial port. If these are set incorrectly you will experience varying degrees of weirdness (seems to still work in some configs, but outputs a lot of extra stuff). Here’s my config for the Z/F card:

And for the X/Y card:

Filter Wheel Config

The filter wheel can be configured with the TLX4000s.exe application (see Communication above). This can be used to change the filter wheel offset if it comes out of alignment. To do this, open the software, select “Filter Wheel” (after establishing communication). Then change the slider at the bottom of the “Filter Wheel Command” window. When you have adjusted the offset click on “RS” (Ram Save) which save settings so they are stored across reboot. The offset can likely also be adjusted using the “OF n” command where n is an offset, though I’ve not tried it.

The filter wheel has 8 positions (two of which are blanked out). The “Next” button on the LX4000 will only select between the two populated filtered. But serial commands can be used to move between any filter position. Micromanager supports this (use the ASIWheel device, and create groups to control filter wheel presets).


The backplane provides +/- 15v, 5v and 24v to all cards. A 6 pin connector provides the +/- 15v and 5v supplies to the backplane. A second 3 pin connector supplies 24v.

In the image below the probe is on the 15v pin and from left to right voltages were probed as:

15v 5v 5v 0v 0v -15v

The connector to the right of the 6pin power connector is the 24v connector, on the opposite side of the board. This is supplied by a separate power supply that sits at the rear of the device (Condor GPFC110-24). In the orientation shown in the image below this reads as 24v 0v 0v.

Power is distributed to the expansion cards via the 8 thick traces shown in the image below on the right side of the expansion card. The last 8 traces probed as:

15V 5v 0.5v 0v 24v 0.2v -15v 0v

With the voltages <1v probably being measurement artifacts due to poor probing/grounding.

Pasted Graphic.tiff

Of the 3 pins holes across the expansion connector, the central pin is not fitted. The pins on the edge (“top” and “bottom”) of the connector as connected. This is true for both the power and data lines.