How to Build a Low-Cost PCR Thermocycler for Under $150
A working PCR machine can be the difference between a successful experiment and a week‑long wait for a borrowed instrument. In many teaching labs and community makerspaces the price tag of a commercial thermocycler is simply out of reach. That’s why I spent a rainy weekend cobbling together a reliable, low‑cost version that fits in a backpack and costs less than a decent laptop. Below is the exact path I followed, with the same level of detail I would give a graduate student who just got their first bench.
Why a DIY Thermocycler?
PCR (polymerase chain reaction) is the workhorse of modern biology. It repeatedly heats and cools a small volume of liquid so that DNA can be copied millions of times. The core of any PCR machine is a temperature‑controlled block that can swing quickly between 95 °C, 55 °C and 72 °C. Commercial units achieve this with precision Peltier modules, solid‑state relays and a microcontroller that runs a sophisticated PID loop. All of those parts are available off the shelf for a fraction of the price of a brand‑name system—if you know where to look.
My motivation was simple: give high‑school teachers a tool they can actually afford, and prove that open‑source hardware can meet the same standards as a $5,000 instrument. The result is a 30‑minute build that anyone with a basic soldering iron and a screwdriver can replicate.
Parts List (All Under $150)
| Item | Typical Source | Approx. Cost |
|---|---|---|
| Arduino Nano (or compatible) | Online electronics store | $10 |
| 12 V 5 A DC power supply | eBay or local electronics shop | $15 |
| Two 12 V 40 W Peltier (TEC1‑12706) | AliExpress | $20 |
| Heat sink with fan (for hot side) | Amazon | $12 |
| Aluminum block (30 mm × 30 mm × 10 mm) with drilled wells | CNC shop or repurposed from old PCR | $25 |
| Thermistor (10 kΩ) | DigiKey | $2 |
| MOSFET (IRF540) | Mouser | $3 |
| Solid‑state relay (5 A) | Mouser | $5 |
| LCD 16×2 display with I2C backpack | eBay | $8 |
| Push‑button keypad (4‑button) | AliExpress | $4 |
| Miscellaneous (wires, heat‑shrink, screws) | Home depot | $10 |
| 3D‑printed housing (optional) | LabCraft DIY printer | $5 |
| Total | ≈ $124 |
If you already have a 3D printer, the housing cost drops to almost nothing. Otherwise a simple acrylic box works just as well.
Step 1 – Preparing the Thermal Block
The aluminum block is the heart of the device. I started with a solid piece of 6061‑T6 aluminum and used a drill press to make eight 0.2 ml PCR wells (8 mm diameter, 15 mm deep). The wells are spaced 10 mm apart to accommodate standard strip tubes. After drilling, I sanded the surface smooth and cleaned it with isopropyl alcohol.
Why aluminum? It conducts heat quickly and is cheap. The key is to keep the block thin enough for rapid temperature changes but thick enough to stay flat under the Peltier pressure.
Step 2 – Mounting the Peltier Modules
Each Peltier sits between the block and a heat sink. I glued the cold side of the first module to the bottom of the aluminum block using a thin layer of thermal paste—this eliminates air gaps that would otherwise cause temperature overshoot. The hot side attaches to a copper heat sink that already has a 40 mm fan mounted. The second Peltier mirrors the first on the opposite side; this arrangement doubles the heating power while keeping the cooling side efficient.
Secure the modules with a few M3 screws and nylon washers so the pressure stays even. Over‑tightening can crack the ceramic plates inside the Peltier.
Step 3 – Wiring the Power Circuit
The Arduino will drive the MOSFET, which in turn switches the 12 V supply to the Peltier pair. Here’s the simple schematic:
- Connect the 12 V positive to the drain of the MOSFET.
- The source goes to the positive terminals of both Peltier modules (they are wired in parallel).
- The MOSFET gate connects to Arduino pin D9 through a 220 Ω resistor.
- The solid‑state relay sits between the 12 V supply and the fan, allowing the Arduino to turn the fan on when the block gets hot.
- The thermistor forms a voltage divider with a 10 kΩ fixed resistor; the midpoint feeds Arduino analog pin A0.
All connections are soldered, then covered with heat‑shrink tubing for safety. Double‑check polarity on the Peltier—reversing it will make the block heat when you expect cooling.
Step 4 – Programming the Controller
I wrote a compact Arduino sketch that implements a PID (proportional‑integral‑derivative) loop. The PID constantly compares the measured temperature (from the thermistor) with the target setpoint and adjusts the MOSFET duty cycle via PWM (pulse‑width modulation). The LCD shows the current temperature, target, and a simple progress bar. The four‑button keypad lets you select the three standard PCR steps (denaturation, annealing, extension) and the number of cycles.
The code is posted on the LabCraft DIY GitHub page; you can copy it straight into the Arduino IDE and upload. If you’re new to PID, start with the default gains (Kp = 30, Ki = 0.2, Kd = 200) – they work well for the 30 mm block.
Step 5 – Testing and Calibration
Before you trust the machine with precious samples, run a dry test:
- Set the target to 95 °C and watch the LCD. The block should reach the setpoint within 30 seconds.
- Verify that the fan kicks in at around 70 °C to keep the hot side from overheating.
- Run a full 30‑cycle program with a dummy water tube. Record the temperature profile; it should stay within ±0.5 °C of each step.
If you see large overshoot, lower the Kp value a bit. If the temperature drifts slowly, increase Ki. Small tweaks usually bring the system into a tight band.
Step 6 – Using the Thermocycler
Load your PCR tubes into the wells, close the lid (a simple 3D‑printed clip works), and start the program. The whole cycle—30 seconds at 95 °C, 30 seconds at 55 °C, 45 seconds at 72 °C, repeated 30 times—takes roughly 45 minutes. That’s comparable to a mid‑range commercial unit.
I tested the device with a standard 100 bp ladder and got clean bands on an agarose gel. The results were indistinguishable from those obtained on a $3,000 instrument in my university core facility. The proof is in the gel, not the price tag.
Tips and Tricks from the Lab
- Reuse old Peltier modules – many broken incubators have them lying around. As long as the ceramic isn’t cracked, they work fine.
- Add a temperature sensor inside a tube – this gives you a more accurate reading of the sample temperature, especially if you use larger volume tubes.
- Consider a dual‑channel design – you can run two separate programs on the same board by adding another MOSFET and thermistor. Great for teaching two classes at once.
- Safety first – the block can reach 95 °C quickly. Keep a heat‑resistant mat underneath and never touch the block while it’s hot.
Building a PCR thermocycler from scratch feels a bit like alchemy: you start with raw parts and end up with a tool that can amplify the very code of life. It’s a reminder that science doesn’t have to be locked behind expensive equipment. With a little curiosity, a modest budget, and the step‑by‑step guidance from LabCraft DIY, anyone can bring the power of PCR into their own lab.
- → DIY Calorimeter Build: A Step-by-Step Guide for Students and Hobbyists @calorimetrycorner
- → Step-by-step DIY Water‑Solvent Filtration Using Everyday Materials @bottletoplab
- → Step-by-Step Guide to Calibrating Your Robotic Pipette for High-Precision Assays @pipetteinsights
- → How to Calibrate Your pH Meter Without Expensive Standards – Simple Lab‑Ready Method @labtubechronicle
- → DIY Magnetic Base Build: A Practical Project for Stable Lab Instrumentation @indicatorinsights