During PCR, a mixture of DNA, primer and DNA polymerase is cycled between three different temperature settings, over and over again. This project uses an arduino to control two high-power resistors to heat up the sample, a computer fan to cool down, and a thermocouple to keep track of the temperature. The design supports two samples at a time, though it could probably be extended to support more.
The parts are all off-the shelf, and the assembly should take a few hours. You will need access to a shop (at the very least a ban saw and drill press).
This project is still a work in progress by Stacey Kuznetsov (firstname.lastname@example.org) and Matt Mancuso (email@example.com). Please email us if you have any questions or feedback! Also, huge thanks to Rich Pell, James Lata and the ATX Hackerspace for materials & feedback.
Step 1: More on PCR
PCR consists of 3 steps that are cycled over and over again:
Denaturation (~94C) At this step, DNA 'breaks apart', splitting from a double helix into single strands
Annealing (~60C) Primers bond to the single-stranded DNA
Extension (~72C) Polymerase compliments the DNA, synthesizing strands that are of the target sequence
Each of these phases can be 20-30 seconds long and repeated 30+ times, depending on the protocol. Most protocols also suggest having a longer initial denaturation step and a longer final extension step.
A simple tutorial:
There's also a bunch of related resources here: http://www.lab-manual.com/lm_209.htm
The results of PCR can be visualized using gel electrophoresis. DNA samples are loaded into a gel, and a high voltage is applied across it. Because DNA is negatively charged, it will travel through the gel at different speeds depending on its size. This process will effectively separate out the pieces you want, and you can see them by staining the gel. Here's a good tutorial and if you're trying to DIY it, the Macgyver Project is a pretty good resource.
PCR can be performed using 3 water baths (each kept at one of the three temperature settings). A human could physically move the samples from one bath to the next 30+ times. PCR machines were developed to automate the process, but most lab-quality ones cost thousands of dollars. But they don't need to! Today there is a growing number of open source PCR projects, among them OpenPCR (600$), LavaAmp ($200), and the Coffee Cup PCR (350$).
Step 2: Materials
2 Wiremound resistors, 150 ohms/50 Watts each (10$ total)
Arctic Silver Thermal Epoxy (14$)
Solid state relay, such as 25A AC/DC SSR ($8.50)
Aluminum block, final dimensions ~64mm x 64mm x 26mm. check ebay (free - $5)
Arduino board, we used the mini ($20)
MAX31855 breakout (I used this one for $11, but the Adafruit one might be more reliable for $17.50)
Thermocouple wire ($10)
60mm fan ($4)
12V transistor (TIP120 should be fine, $0.70)
12DC, 0.5A power supply ($1)
Regular power cable
Plywood (if you want to make a case)
A few different length bolts and nuts (if you're making the case) we used 6x1" and 2x2" #6 bolts w matching nuts
You'll also be using:
Breadboard (small one)
Bansaw & drill press
Laser cutter (if you want to make a case)
Wood glue (if you want to make a case)
Step 3: The aluminum block
The images below have our rough dimensions (in mm). Matt was really precise cutting it, but I don't think it has to be super exact.
Step 4: The circuit overview
When hooking up the electronics for the first time, I suggest breadboard, not solder. If you end up making a case, you'll have to disconnect and re-connect a few things to make them fit!
Step 5: The circuit- resistors
Black wire -> pin 1 (AC pin) on the relay
White wire-> one of the resistors. Connect the second resistor in series. Connect the second resistors to pin 2 (AC pin) on the relay.
Connect arduino to the relay
Arduino pin 7 -> pin 3 (+DC pin) on the relay
Arduino GND -> pin 4 (-DC pin) on the relay
Cover all connections w electrical tape!!!
---- some math ---
With 2 150ohm resistors in series, the total resistance should be 300 ohms. So with the U.S. outlet voltage being 120V, the current should be 0.4Amps, which makes the wattage 48Watts. The resistors are rated for 50 Watts, so this should be OK, but please double check the math, especially if your outlet runs on 230V (you'll need different resistors with higher Wattage).
Step 6: The circuit- fan
Arduino pin 9 -> transistor base
Fan black wire -> transistor collector
Arduino GND-> transistor emitter
Arduino GND -> ground on the DC adapter (black wire)
Fan red wire -> red wire (power) on the DC adapter
Step 7: The Circuit- thermocouple and MAX31855 breakout
Arduino pin 4 -> DO pin on the MAX31855 breakout
Arduino pin 5 -> CS pin on the MAX31855 breakout
Arduino pin 6 -> CLK pin on the MAX31855 breakout
Arduino GND & VCC -> to GND and VCC on the MAX31855 breakout
The thermocouple screws into the breakout board (yellow wire to the +).
Step 8: Assembly
You can also use the thermal adhesive to glue the end of the thermocouple wire to the block (that's where the temperature is sensed). You'll get better accuracy if you embed the wire in the block. You can drill a small hole at the top, between the PCR tube holes and attach the thermocouple to that.
Step 9: Test it with code
The main thing is to not overheat (or even blow up) the resistors and sample. ***You never want to leave current running through the resistors for long periods of time!!!*** The thermocouple will not instantly respond to changes in temperature. Our 'heat up' code runs current through the resistors for about half a second and then checks the thermocouple. Every 15 seconds, the system times out and waits for a constant temperature to be reached. This ensures that we catch thermocouple delays, and also let the aluminum block heat evenly. Our heat-up code also has a few checks to make sure the thermocouple is properly connected, not heating up too fast, not overheating, etc.
Also, safety first, ***you don't want to leave this on running without watching it!!***
When cooling down, remember that the fan will continue moving for a few seconds after it's shut off, so it's best to shut off the fan 1 or 2 degrees before ideal temperature is reached.
The temperature is held constant by pulsing the resistors on for a tiny fraction of a second and constantly checking the temperature values. Given the limitations of the thermocouple and Arduino, you can get accuracy to +/-0.5C. However, since the Adafruit website reports a precision or +-2°C, you may also need to calibrate your thermocouple with an actual thermometer first.
The full 32 cycles take about 3 hours (depending on how the case is set up).
Step 10: Case
For the case material, wood or plywood should be fine because it's a pretty good insulator.
Once you have the pieces laser cut, you attach the relay to the bottom. User shorter screws for the relay. Attach the fan to the back piece, making sure the fan sits inside the case.
Then you can use wood glue to attach the bottom, sides and back together.
The aluminum block sits on top of the two taller screws. We drilled 2 extra holes at the top and bottom of the aluminum block to make it fit more snugly (about 48mm apart).
You may need to re-assemble some of the circuitry to make feed the wires through the case. The front and top go on last.