DIY PCR: Introduction

This is a project that I've been tinkering around for about a year now. One of my friends showed me this fully functioning and cheap PCR machine that someone had made from scratch. At the time I had just finished a couple genetics courses and was about to start learning how to program. As such, this project seemed like a great way to combine what I had learned in both fields of study. The end goal, will be to have a working PCR machine that I designed, built and programmed by hand.

If at this point you are a tad confused as to what PCR is, you should watch the video below before reading further. Watched it? Good.

I wanted to start by going over the goals of this project. Ideally this project should be:

  1. Cheap- I’m on a student budget
  2. Easy to use- This will be used by other students as well
  3. Parts that are easy to get hold of
  4. Fun and challenging!

Now that we have the goals, let’s specify what we need the machine to do.

  1. Record the temperature of the samples in the test tubes
  2. Cool the samples to the appropriate temperature for a set period of time
  3. Heat the samples to appropriate temperature for a set period of time
  4. Keep the samples at a constant temperature after 30 cycles of PCR have run
  5. Let the user know how many cycles have run, as well as the current temperature of the sample- this will allow for better monitoring as well as easier code debugging

As I mentioned earlier, the idea for this was based on this project. I wasn't too keen on how they implemented some of the steps however, so I decided to come up with my own solution. Based on the criteria I mentioned, I created a 3D rendering of the machine. You can check out an interactive version of the model here.

3D concept of the PCR machine

Let’s go over what’s happening.

The samples are stored in block of aluminum so that they can be heated and cooled. I've made the front portion of the block transparent so you can see what’s going on.

Nichrome wire in red

The red line inside the block is piece of nichrome wire. I’ll be cutting the aluminum block lengthwise and putting the wire in between the two pieces. When a current is run through the wire it generates the heat which will be used to heat the aluminum block and the samples in turn.

In order to cool the samples down a Peltier plate will be used. For those unfamiliar with the Peltier effect this link is a useful overview. Or check out the video below.

The Peltier plate is put at the bottom of the aluminum block and is shown as the blue square in the picture below. In order for the plate itself to cool effectively, it needs to be attached to some sort of radiator. In this case I’m using a CPU cooler- the big block of metal underneath the Peltier plate.

Peltier plate in blue

To record the temperature of the samples I’ll be using a thermocouple- a really sensitive thermometer. The thermocouple will be inside one of the test tubes and will send the temperature of the sample to the Arduino. Based on this temperature, the Arduino will either heat the aluminum block using the nichrome wire or cool it down using the Peltier plate. Since the samples are stored inside the block they will also be heated and cooled as well. Note that the thermocouple and Arduino are not shown in my 3D concept.

And that’s really about it! In terms of project updates there won’t be a set time unlike my weekly Rosalind posts. This is due to the fact that in addition to finding the part’s I need, I also need to figure out how to install them and make everything work together. I've already started on the temperature sensor and the post for that will be out in a couple of days. I hope you enjoy reading about it as much as I’m enjoying making it.

Update 1: The temperature sensor has been built. The write up for it is in part 2 of this series.