Picture of Arduino PCR (thermal cycler) for under $85
This tutorial will show you how to make a thermal cycler from scratch for about $85. In short, PCR (polymerase chain reaction) amplifies bits of DNA, creating millions of copies of a target sequence. You can use it to test a DNA sample for a specific gene, for instance, to check for genetic modification in food and for hereditary gene testing.

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 (stace@cmu.edu) and Matt Mancuso (mcmancuso@gmail.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. 
MostafaA42 months ago
Can i replace the heat source (relay and risitors with cermic heater )
JeannieS14 months ago


Does anyone who works in a lab know how well the rates of heating and cooling match a commercial/lab machine?

And has anyone tried it out to replicate DNA? Any success?


DanaR45 months ago

has anyone successfully sequenced their own genome with this ? as in the whole thing?

NikorP7 months ago

Is it at all possible that you can make a video showing you using the machine with a kit like the one you suggested? I've never used a PCR machine before, commercial or non-commercial.

mahdii8 months ago


mahdii8 months ago


Licarius1 year ago

Can anyone confirm what the red board connected to the arduino is in the first picture? An exact name and model number would be much appreciated!

-Thank you!

nice project, I arrived here after my wife's pcr broke and I was told I need to build one asap, in a week, mine is supposed to have a heater on top to avoid evaporation, but I will definitely use the know how and experience from you guys, the drill bit IS an issue here in Argentina, will try to get it made (8 holes) by a shop. if anyone is interested in the outcome let me know and I'll report back.

joaocandre1 year ago

Could there be any advantage in using a thermoelectric cooler instead of fans and resistors?

ttsdttt1 year ago

Great work! I have got one question: How did you manage to drill the holes so that the reaction vessels fit into them correctly? They are formed conically but the holes do not seem to be so.

sunone2 years ago
Cool project, but I have a question. There is no mention of any Vcc for the arduino in this project, only the power of the relay and the fan. how is supposed to work the arduino? Using the current flowing from the fan?
You ought to have a base resistor on your transistor. About 2.2kOhm should be good (assuming beta=100 for your transistor, which is derating by a factor of 10 from the spec'd 1000).

Without a base resistor, your base voltage wants to sit at ~1 volt and your Arduino pin wants to be at 5v. This makes your Arduino unhappy.
This :) Also should probably also have a flyback diode to protector the transistor from back EMF from the fan. The tutorial linked to in the article mentions this.

Great project nonetheless!
Actually, the diode is really only necessary with a FET. NPN transistors can typically withstand high voltages.
staceyk (author)  fourpenguins3 years ago
Yup, I just checked, and I actually do have that in my setup, but not in the writeup. Adding it in now, thanks for the catch!
danbemp2 years ago
I was blown away by this article. Incredible work... affordable, homemade laboratory equipment is long overdue. Biology should be accessible to hobbyists and tinkerers!

Also, have you heard of the dremelfuge? It's an attachment for a standard rotatory tool or power drill which can generate pretty significant centrifugal acceleration. Figured you might appreciate hearing about it, if you hadn't already.

Keep up the good work.
Although those wattage calculations are correct for 120 volts DC, they might not work so well with 120 volts AC, which is what you are giving them. As you probably know, Ac voltage in the states oscillates from negative to positive at about 60 hertz. While we think of our AC power as 120 volts, it is actually higher and lower. 120 is the RMS voltage (the root mean square http://en.wikipedia.org/wiki/Root_mean_square). This means that the "average voltage" of the entire sine wave is 120 volts. This is calculated by taking the peak voltage of the sine wave and dividing by sqrt(2). See this for details: http://en.wikipedia.org/wiki/Alternating_current#Example

If the RMs is 120, the peak voltage is 120*sqrt(2)=169.706

so for a large fraction of the operating time, the resistors will be getting above 120 volts, all the way up to 170 volts.
I=V/R I=170/300 I=.56
P=VI P=170*.56 P=68 watts

Although you are not operating at 170 volts all of the time, you are exceeding the wattage rating for a significant amount of time every second. I sincerely suggest you use 100 watt resistors. These will protect you from peak voltage as well as any power surge/ripple.

Besides that, I love the product! I am currently working in a bio lab with fancy thermo cyclers and they are essential to our work.

I am sure you can large wattage wirewound resistors on the internet. Good luck.
staceyk (author)  makerbuilderbaker3 years ago
Hey, thank you so much for this, really appreciate it!! If I stick with the size that fits the block, I might use 2 of these in series, 300ohms @ 50 watts. 

I = 170/600 = 0.28A
P=170*.28 = 48Watts (at peaks)

Does that seem right?
Your math is correct, and those new resistors will be much better suited to the task.
However, to guarantee proper operation and long life, you might want to go even higher. Resistor wattage ratings are usually absolute maximum ratings which can be tolerated for only a short amount of time. With 300 ohm resistors, you go to 96% of the absolute maximum it would likely receive. In the name of caution, I only use resistors at up to 1/2 to 2/3 their rated wattage capacity. Depending on price and availability, I would recommend a total resistance of more than 750 ohms, this will place you below 40 watts at peak.
A few reasons for this caution are outlined below.

The tolerance on your wattage may be several percent, so your capacity could be from 47.5 to 52.5 watts with a 5% tolerance. Unfortunately tolerance on wattage is less prevalent than tolerance on resistance.
Also, grid surges and ripples do occur and you want to build your device to handle the worst case scenario.

It is good practice to err on the side of caution and never trust your components.
For 230V countries: Peak voltage = 325 V

For power of 40W - implies 120mA current
Resistors would be 2.6 kOhm.

Using preferred values:
- two 1500 Ohms resistors (choose devices with 25W or greater rating. Preferably 40W)
- gives us 110mA and 35 Watts.

or: - two 1200 Ohm resistors (choose devices with 30W minimum ratings. Preferably 40-50W)
- gives us 135mA at 44 Watts.

Use an osPID to control the SSR driving the load.
Use a cheap (low temp 400C) k-type thermocouple to connect to the osPID controller.
FORGET IT. RMS values are all you need to consider.
This is wrong.

The RMS value is THE SAME HEATING value as the equivalent DC. FORGET the peak.

Your numbers are completely wrong. We cannot talk about "peak power", there is no such thing.

This sounds like a perfect candidate for a PID control loop. http://en.wikipedia.org/wiki/PID_controller
staceyk (author)  dustinandrews3 years ago
Hey, great about about PID, there's actually an arduino library already written for it http://arduino.cc/playground/Code/PIDLibrary I'll try it out!
Also check out the OpenPCR PID library (they just released some new code July 1 2012): https://github.com/jperfetto/OpenPCR/blob/master/arduino/openpcr/pid.cpp

Cool project, I'll make one.

XTL macowell2 years ago
osPID is a really nice kiln controller with thermocouple input (k-type by default).
The project uses the arduino PID library. You might want to check it out.
Works perfectly for me. Ramp controls and everything.
Using resistors as a heater? That's a nice idea but how about using peltier?
macowell3 years ago
Very cool!

How tightly does the conical section of the PCR tube fit into the heating block? Do you add a liquid or gel to transfer heat between the heater block and the PCR tube when the tube is in the block?

Do you add mineral oil on top of the PCR reaction mix to prevent condensation in the cap of the PCR tube?

I've seen a couple of other DIY PCR projects. We should get some funds (Kickstarter? a grant?) to manufacture drill bits for milling out the precise profile of a PCR tube. I'd use one. I bet you'd use one... wonder how much a batch of 20 would be.

staceyk (author)  macowell3 years ago
Hey Mac!!

The PCR tube sits really tightly circumference-wise, but the conical section is not tight at all :( We just used a regular drill bit, so our holes are a little longer than the height of the tube. Adding a gel/liquid to speed up heat transfer is a great idea, is there a material you recommend?

Yes, def using mineral oil since there's no heated lid.

A custom-drill bit might be nice. I found this: http://www.wolftooltech.com/Single_Diameter_Carbide_Drill_Quote_Request_Form.pdf I could send in a quote, but if you're trying to build something for under $100, or preferably even under $50, it has to cost like  $5-10 or it's probably not worth it...
I think adding mineral oil to fill the bottom of the tube in the heater block would work.

It would be neat to find a $10 milling tool set that could be used to drill out the block. Maybe a standard tapered ball-point end mill & a cylindrical drill bit? Not sure.

Alternatively someone could have a bunch of 8-tube strip, 16-well, and 48-well blocks manufactured and sold near cost.
techxpert3 years ago
you don't need 150 Ohm resistors do you because i found 560 Ohm resistors for $438.
staceyk (author)  techxpert3 years ago
clazman3 years ago
Just some thoughts...

Why not use an "off the shelf" heat sink?

Wouldn't the SCR last longer if it was mounted on a heat sink?

Why not use "off the shelf" heater cartridges instead of those resistors?
nplant3 years ago
This is neat! I've worked on two fully integrated PCR instruments (GeneXpert and a new one not yet on the market) and it looks like you have covered all the bases for a basic amplification machine.

When you figure out how to add optics, you'll really have a platform to outcompete the big boys!
ShaperG3 years ago
This is fantastic! I've been working on one using peltier heat pumps but it was too confusing for a poor molecular biologist like me. I can't wait to build my own and try it out in the lab.
marc.cryan3 years ago
Amazing project -- you made the build and theory easy to understand. Also - I suggest the project name 'PBR PCR'
staceyk (author)  marc.cryan3 years ago
LOL, thanks for the name suggestion, if i ever print a PCB for this, that's what i'll call it. PBR pretty much comes out of the tap in Pittsburgh
Nice - the 'PBR PCR PCB'
I love the enclosure design. The project's pretty cool too.