MultiGene PCR machine:

This machine  consists of a temperature pot which is connected to a PC. Genetic samples are inserted in the temperature pot and software on the PC is used to control the temperature of the samples in the pot. I did not build the thermal pot itself, I only did the PC controller card and software. Below is a picture of the setup. The Multigene temperature pot is at the right side of the image.

This machine is used by the Medical Faculty of the University of Stellenbosch. Genetic samples are inserted in the thermal pot and software on the PC is used to control the temperature of the samples in the pot. The pot itself was not designed by me, I was only to supply the software and interfacing circuitry to control it from a PC. The pot contains two halogen lamps which are used for heating and a fan which is used for cooling. It also contains a temperature sensor. After looking at user-interfaces for the program I have decided to rather design a simple computer language which can be used to control the PCR machine. Now a program can be written on any text editor, including the built-in editor of my software. There are basically infinite thermal cycle possibilities, and as these machines are used for research, it is very easy to put the program in an article or thesis. Here is an example of a program for the PCR machine:

;Test program
temp=30 for 6 seconds   ; Hold temperature at 30°C for 6 seconds
temp=40 for 7 minutes   ; Hold temperature at 40°C for 7 minutes
do profile 0 8 times    ; Do profile number 0 8 times
temp=50 for 1 minute    ; Hold temperature at 50°C for 1 minute
do profile 1 30 times   ; Do profile number 1 30 times
end                     ; End of main program
profile 0               ; Start of definition of profile 0
temp=60 for 1 minute    ; Hold temperature at 60°C for 1 minute
temp=50 for 2 minutes   ; Hold temperature at 50°C for 2 minutes
end                     ; End of profile 0
profile 1               ; Start of definition of profile 1
temp=92 for 1 minute    ; Hold temperature at 92°C for 1 minute
temp=70 for 1 minute    ; Hold temperature at 70°C for 1 minute
end                     ; End of profile 1

This example consists of a main part and two profiles (subroutine). The first line in the main part is a comment. The main part consists of two setpoints and then an instruction to execute profile 0 8 times. This is followed by another setpoint, and then an instruction to execute profile 1 30 times. The last instruction in the main part is the END instruction the tell the compiler that it is the end of the main program. Profile 0 and 1 consists each of two setpoints.

This project consisted of MS-DOS based software and a custom designed PC expansion card. The software includes an ISR based temperature control loop, a program editor and an interpreter. The PC expansion card contains an 8-bit A/D convertor as well as 8-bit status and control ports.

Below is a screenshot of the software. The left side contains the editor window, while the right side is used for status messages.



The status section is divided into three vertical section, the top window is the status for temperature pot 1, while the center window is the status of temperature pot 2. The bottom status window is used for error messages from the interpreter. Before a program is executed, the dry runs the program too make sure that no error will occur during the actual execution. Below is a graph of temperature versus time after the program in the above screenshot has been completely executed.


 
Below is a photo of the PC expansion slot card I designed for the MultiGene:


 
  Back to Laborary equipment page