Several visitors to this site have expressed interest in the development history of SLControl. This page provides background information relating to the project and describes some of the earlier methods for implementing sarcomere length control which were developed under the direction of Rick Moss.

ktr measurements

Our laboratory has been interested in measuring the rate of tension redevelopment (ktr) in different muscle preparations since the mid-1980s. In these experiments, chemically permeabilized preparations (both skeletal and cardiac) are immersed in solutions with known free Ca2+ concentrations. Once the muscles have developed steady-state force, they are rapidly shortened (normally by ~20%), held at the short length for ~20 ms and then rapidly re-extended. Force rises transiently during the re-stretch, falls to near zero and then rises towards the steady-state value with a time-course which is normally approximated as a single exponential. The rate at which tension redevelops provides information about how quickly the muscle generates force and is unaffected by, for example, diffusion delays or changing levels of intracellular Ca2+.

Although these experiments are in principle quite straight-forward, it has long been suspected that the rate of tension redevelopment may be markedly affected by small changes in the length of individual sarcomeres as force redevelops. One way of minimizing this potential artefact is to measure the muscle's mean sarcomere length (normally using a laser diffraction technique) following the perturbation and attempt to prevent gross changes in the measured value by appropriate adjustments to the overall preparation length. Our laboratory's first attempts to control sarcomere length in contracting preparations were developed with the sole intention of implementing this type of protocol.

Control systems

It may be helpful at this point to summarize the two main techniques which have been used to implement this type of servo control. In the first, negative feedback is applied via analog circuitry. This approach allows rapid system response and remains the method of choice in mechanical experiments requiring extremely rapid (< 1 ms) control. The disadvantage is that the circuitry is generally difficult to design, construct and duplicate and great care is required if optimal performance is to be achived.

The alternative approach is to imposed feedback using a computer control system. In this type of scheme, signals, such as muscle force and sarcomere length, are passed from the experimental apparatus to the computer providing information about the preparations's macroscopic state. In turn, the computer passes signals (e.g. motor commands) to the apparatus which can alter the state of the preparation. Real-time control is possible if the command signals can be rapidly updated in response to measured changes in the output signals from the apparatus (though this task is difficult in most conventional operating systems, e.g. Windows, OS-X etc.)


The first ktr experiments recorded using sarcomere length control in this laboratory were reported by Metzger, Greaser and Moss. in 1989. The apparatus used in these measurements no longer exists and little information about it survives, but the control system seems to have been developed primarily by Dennis Schade, a Masters student in the WEMPEC program at UW-Madison working under the supervision of Dr. Robert Lorenz.

This first system is probably best considered as a hybrid scheme because it combined elements of digital and analogue servo technology. Signals representing force, sarcomere length and motor position were sampled by a 12-bit A/D convertor installed in a 486 MHz PC running in DOS mode to prevent problems with system interrupts. The motor used to adjust preparation length was controlled by an analog servo system which switched between two distinct modes in response to a TTL signal from the host computer.

In the first mode, the motor position was held at a fixed length. In the second, the motor position was adjusted in such a way as to minimize the difference between the measured and the desired sarcomere length signal values. The performance of the servo system could be tuned by judicious adjustment of potential dividers incorporated in the analogue electronics.

Fiber 1.0

The original system appears to have remained substantially unchanged until the mid 1990s when it was revamped by Tod Tesch, another Masters student in the WEMPEC program at UW. Tod retained the hybrid digital/analogue control combination but rewrote the user interface in object-oriented Turbo Pascal. The new program, named Fiber 1.0, proved to be much easier for the end-user who could adjust experimental parameters simply by selecting appropriate options from (DOS-based) dialog boxes. A few 'trouble-shooting' routines were provided (e.g. square wave changes in fiber length, trigger checks etc.) but the main role of the program was still to control sarcomere length during ktr measurements.


I arrived in the Moss lab in the spring of 1998 and 'inherited' the Fiber 1.0 system from Gary Diffee who had just left the lab for his first faculty position. My initial aim on arriving in Madison was to extend my observations of the mechanical properties of relaxed muscle fibers during repeated length changes to Ca2+-activated preparations and with this in mind, I started to adapt Tod Tesch's Fiber system to produce ramp changes in preparation length.

The resulting software could record up to 8000 points/channel of force, sarcomere and preparation length data at update rates of at least 1 kHz. In preliminary measurements, it also became apparent that it might be possible to close the control loop such that it was the measured sarcomere length rather than the overall preparation length (motor position) which was tracked through the pre-determined waveform. However, rather than implementing analogue servo control as in the previous versions of the software, I chose to try to close the control loop using a digital approach. The existing Assembly language routines (which had previously just recorded sarcomere length) were adapted so that they could adjust the motor position in response to changes in measured sarcomere length.

The resulting system, which I termed Fiber 2.0, worked much better than could reasonably have been anticipated and was used to perform the experiments published by Rick Moss and myself in 2000 and 2002. Later modifications to the software included rudimentary tension control protocols and simple routines for firing multiple digital triggers.

In no way however could the system be described as user-friendly. The Fiber program had no analysis features and data files had to be processed using clumsy spread-sheet software or specially written routines. It was also difficult for somebody without programming experience to operate and code often had to be modified during the course of an experiment to correct for unforseen problems. The code itself, most of which had been modified by at least 3 people (Dennis Schade, Tod Tesch and myself) had become cumbersome and difficult to maintain. Making even simple modifications to the experimental protocol required designing new Pascal objects and writing and linking new Assembly language routines. I well remember adapting code which produced a symmetrical change in preparation length so that it could produce an asymmetrical length change, a process which took almost 5 days of fairly intensive effort. Perhaps more worrying still, the system was customized specifically for a rapidly aging Intel 486 machine and obsolete Burr-Brown A/D cards. I was only too aware that a critical hardware failure might stop my experiments for many months.


It seemed sensible then to start developing an alternative system in parallel which could be phased into operation if problems occurred with the Fiber program. Ben Palmer, an engineering student at the time at UW, and I investigated a number of different options (including Keithley's ADWin system and National Instruments LabVIEW Realtime) and made the decision (thanks to great advice from Ravi Kochhar) to go with Microstar technology around Christmas, 2000.

I started working (mainly at night and in my spare time) on the project, immediately termed SLControl, shortly thereafter and used the system to record experimental data for the first time in August, 2001. The initial aim was simply to implement sarcomere length control technology in a more modern, reproducible framework, but the project has evolved significantly since then.

Fiber 2.0 and the original version of SLControl both implemented sarcomere length control but the two systems used very different strategies. Fiber 2.0 runs in DOS and takes full control of the host CPU. It's performance is entirely dependent on the host PC. In constrast, SLControl delegates all of the time-critical tasks to dedicated hardware (a DAP 5216a in the original configuration), and runs in modern Windows environments (Windows 2000 and later). It was developed in Visual C++ and the modular approach involved in object-orientated programming means that new interface code can be added to the project at any time without compromising system performance. New protocols (including tension and digital trigger control) have been added to the project since its initial development and a number of useful analysis features have been provided. Many of these improvements have come about in response to user feedback.

Most of the setups in our lab were switched to SLControl in 2002 and numerous users from outside the UW system have downloaded the software since we decided to make it freely available in early 2003. As far as I am aware, I am still the only person to use SLControl for its original purpose (sarcomere length control experiments) but it does seem to be becoming a useful tool for muscle mechanics.

Happy experimenting!

Ken's signature

Update 17 Sept,2004

Robert Fitts at Marquette University in Milwaukee, WI has recently started using SLControl for length clamp experiments.

I have now moved to a new position in the Department of Physiology at the University of Kentucky. Go Wildcats...

Last updated on 17 Sept, 2004 by Ken.