Team:Paris Saclay/PS-PCR/detailed description



PS-PCR : detailed description

The Paris-Saclay open source PCR thermal cycler project.

Comparison with other projects

Some open source PCR thermal cycler projects already exist, but the aim of the PS-PCR project is to provide a better and more affordable system, thus filling a gap in the list of existing projects.

Project Price Discussion
OpenPCR $649 Heated lid, good performance, hard to manufacture.
Arduino PCR $85 No heated lid, room for only 2 tubes, fan-only cooling.
Lava-Amp "pennies" No data available, probably slow with no heated lid, 1 slot.
Coffee Cup PCR $350 7 slots, no heated lid, fan-only cooling.
PS-PCR Under 30€ Fast solid state heating/cooling, 16 slots, heated lid.

Design overview


Solid state heating/cooling

Testing the cooling power

By using a peltier thermoelectric device, the system achieves fast heating and compressor-less cooling, enabling it to reach temperatures ranging from -3°C to 120°C in a relatively short time.

When powered, the Peltier block transfers heat from one of its sides to the other, thus cooling the former while heating the latter. The "heat pumping" direction can be flipped by reversing the direction of the current in the device.

One side of the Peltier is thermally attached to the sample holding aluminium block, while the other one is attached to a computer CPU fan-thermalized radiator. Since the fan keeps the radiator at near-room temperature, the Peltier device can pump heat from(to) it in order to heat(cool) the sample holding block.

Power control

In order to control the current inside the Peltier, and therefore the heat pumping power, the system uses PWM (Pulse Width Modulation). PWM is quite a simple technique : instead of continuously adjusting the current through the Peltier, it works by switching the peltier completely on and off using a high frequency (~1kHz) square signal. The ratio between the duration of the "on time" and the duration of the "off time" in a single signal period defines the mean power provided to the device : 1.0 meaning full power (Peltier always powered), 0.0 meaning zero power (device always off), 0.2 meaning 20% power (Peltier on 20% of the time, and off 80% of the time) for example. This method uses simple binary to control the Peltier power, allowing the usage of a digital micro-controller to drive the Peltier.

The direction of the current inside the Peltier is controlled using a power H-Bridge circuit. Our H-Bridge consists of two pairs of complementary power MOSFET transistors that can be selectively switched using digital signals in order to choose the direction of the current through the Peltier.

Temperature sensing

Sample temperature feedback is done thanks to a thermistor attached to the sample holding block. A thermistor is a resistor with a temperature-dependant value. By using a voltage divider, one can easily use it to obtain a measurable temperature-related voltage.

Digital interface

The digital control system is built around the Atmega8 inexpensive micro-controller which generates the PWM signal for the Peltier device, outputs current direction commands to the H-Bridge subsystem, acquires values from the temperature feedback sensors and provides an USB port for communication with a computer.

The whole system is controlled through the USB port by a computer running specifically designed software. The computer reads temperature feedbacks and sets the Peltier heat transfer direction and power. The software running on the computer provides a user interface allowing the user to select the PCR cycles to run.


Bill of materials

Item Price (incl shipping to France) Brotip
Resistors : 2x68R, 13x(or 9x if no extra thermistors)1k, 1x1k5, 1x2k2, 5x6k8, 3x100k, 2x300k Assortment of 400 pieces, 20 values for 1.78€ (link) You can get them for free from electronics in any decent trash : they can be unsolder-ed from almost any household electronic device. There is a good tolerance on all those resistors, so don't panic if you don't have the exact value.
Diodes : 3x1N4148 50 for 0.73€ (link) Since they can be replaced by any similar signal diode, they can be found for free in almost every household electronic device. D1 is optional, but if you don't use it, avoid programming your device while it is connected to the USB port, it may damage your programmer.
Capacitors : 2x22pF for crystal, 1x25v10µF stabilizing electrolytic. 50 22pF for 0.51€ (link), 10 10µF for 0.73€ (link) The crystal capacitors can be chosen in the range 10pF-30pF. The stabilizing capacitor can be any capacitor rated at least 10v and 4µF. They can also be found easily and for free in your local trash.
1xLED 10 for 0.71€ (link) Choose your favorite color. They are also very common, and you can use either a 3mm or a 5mm LED. Easily found in household electronics.
1x Quad comparator LM339N 5 for 0.73€ (link) Harder to find in household items, you may consider buying this one. It's still very cheap.
1x 16MHz quartz crystal oscillator 2 for 0.71€ (link) You should just buy this one.
Power MOSFET transistors : 2xIRF540, 3xIRF9540 2 IRF540 for 1.32€ (link), 3 IRF9540 for 2.20€ (link) Can be found in some power amplifiers and switches, but it's easier to buy them.
1x BC547 transistor 20 for 0.73€ (link) Or equivalent (for example 2N2222), can be found in many household gadgets like blinking key-rings or pens...
1x Atmega8 micro-controller 1.09€ (link) You can get one or two for free by requesting a sample (see for example this link).
1x USB type B female connector 2 for 0.73€ (link) You can unsolder them from items like USB hard drives, USB disk drives, USB printers... You can also replace it by any other type of device USB connector, or even directly solder the wires of a spare USB cable.
Connectors : 1xDIL6(or DIL2 if no extra thermistors), 1xDIL5 (ISP programmer header), 4x 2-pin screw headers 3pcs 80-pin, 2row headers for 0.73€ (link) You can unsolder them from electronics, you can also buy longer ones and cut them into the needed smaller parts, or you can simply ignore them and solder your wires directly.
2x 10K NTC thermistors 5 for 0.73€ (link) Can be found in temperature sensors/regulators.
1x prototype board with some small rigid wires 2 for 0.73€ (link) Any Bakelite board will do the trick, you may even use cardboard. The wires can be easily found in household items, but perfect ones can be found near phone connection boxes after maintenance.
1x 138.6W peltier element 3.78€ (link) Harder to find (USB fridges, some CPU cooling systems...), you may consider buying one.
Lid heater : 1x Kapton heater or some kanthal wire or a 60W Peltier element 2.01€ for a 60W peltier (link) Any 12V heating device capable of boiling water will do the trick, if it fits in the lid.
1x 12V power supply, 170W or more 12.47€ (link) Can be easily found for free in older computers.
1x fan-cooled CPU thermal block 1€ spare part (link) Can be easily found for free in older computers.
4x4x1.8cm aluminium block and 1mm aluminium plaques around 1€ Can be found in household items, except the block, which can be found or purchased from local factory byproducts/trashes.
Thermal grease 10g for 0.71€ (link) Can be retrieved from CPU coolers, heat sinks... or bought for cheap.
LAZY TOTAL ~33€ This price applies if you don't use any brotip and if you buy everything listed here, but you will be left with MANY spare parts (374+ resistors, 47+ diodes, 57 capacitors, 9 LEDs, 4 opamps, 1 oscillator, 19 transistors, 1 USB port, many connectors, 3 thermistors, 1 prototype board, most of your thermal grease, and some aluminium)
AVERAGE TOTAL ~20€ This is the average price.
PRO TOTAL <10€ This is the price if you follow the brotips.

Building the heating/cooling system

  • Step 1 : stick a powerful Peltier device (100W+) to a CPU fan-thermalized radiator using thermally conductive paste.
Peltier device stuck to a CPU radiator

  • Step 2 : build the sample holder using a 4cm*4cm*1.6cm aluminium block pierced with 16 evenly-spaced holes. For perfect thermal contact, use this kind of drill : GaudiLabs PCR tube drill. If you don't have one, you can approximate the holes using increasingly small radius drills, and then smooth the holes. Another solution (used for the prototype shown here) is to drill simple cylindrical holes and put mineral oil for better thermal contact.
PS-PCR prototype sample holder

  • Step 3 : stick the radiator&Peltier block to the sample holder with thermal paste and secure it in place in a thermally resistant but non-conductive way (not done yet for the first prototype shown here). Isolate the sides of the sample holder using a thermal insulator or cut a part of your smelly cooking glove to wrap it, this will limit lateral heat losses (not done yet in the first prototype shown here).
PS-PCR prototype thermal system

  • Step 4 (Not finished yet) : build the lid using a hinge and aluminium, and stick a less powerful Peltier element (~60W) or a Kapton heater or any other low power 12V heater so that it covers the sample holder when the lid is closed. You'll also have to stick another thermistor to it for lid temperature sensing purposes. This lid is useful for keeping the sample tops at 103 in order to prevent water condensation inside the PCR tubes.
PS-PCR prototype lid heater

Building the electronic control system

  • Step 1 : build the electronics.
Electronic diagram (click to enlarge)
First prototype electronics (power and logic are shown separated on two boards)

Notice : R24 to R27 are optional, add them only if you want to add other temperature sensors, otherwise, use a 4 pin header for SV2 (CTNs) with only the pins 9, 10, 11 and 12. The SV3 (GPIO) header is optional, use it only if you want to add custom electronics.

  • Step 2 : Program the micro-controller.

Use the SV1 (ISP - In System Programming) header to program the chip by uploading the firmware. The firmware hex file to upload can be found in the Download section. You will need an ISP programmer like the cheap USBasp. You can then use avrdude to upload the firmware. You must set the following flag bits (others must be reset to zero) : SPIEN, BOOTSZ0, BOOTSZ1.

The corresponding avrdude command to set the flags and upload the firmware is : sudo avrdude -c usbasp -p m8 -U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U flash:w:pspcr.hex This command must be launched within the folder containing the downloaded pspcr.hex file.

  • Step 3 : Wire everything together
Connector Wiring Discussion
Pspcr ico peltier.png 1 - to sample block Peltier red wire

2 - to sample block Peltier black wire

If the Peltier cools the samples when it's supposed to heat them, flip those two wires. Don't use thin wires.
Pspcr ico lid.png 1 & 2 - to lid heater leads If you used a Peltier for the lid and if you notice that it's cooling instead of heating, flip those two wires. Don't use thin wires.
Pspcr ico ctns.png 11 & 12 - to sample block thermistor leads

9 & 10 - to lid thermistor leads

7 & 8 ; 5 & 6 ; 3 & 4 ; 1 & 2 - optional extra thermistors

If you don't plan to add extra thermistors, just ignore pins 1 to 8.
Pspcr ico 12v.png 1 - to power supply 12V out

2 - to power supply ground

If you flip them, the system will fry.
Pspcr ico usb.png USB cable to a powered computer USB port. Use an USB A to USB B cable, the shorter the better. Don't worry, the board draws very little USB power (~1mA max).

Don't forget to wire the fan directly to the 12V power supply.

First prototype wired (temporary thermal block and missing lid)

Installing the control software and calibrating

  • Step 1 : Download and install the control software (see Download section).
  • Step 2 : Calibrate the system.

The PS-PCR system needs to be calibrated before use. A digital and precise (resolved down to or under 1°C) thermometer is required. In order to do the calibration, just launch the calibration software and follow the instructions.


The PS-PCR has been tested and works as expected.

Used quantities :

  • pIMI018 (DNA) : 4µL
  • Primer aacF (10 µM) : 10µL
  • Primer aacR (10 µM) : 10µL
  • dXTP : 2 µL
  • Buffer 10x : 10µL
  • Q solution : 20µL
  • Taq (Qiagen : 0.8µL
  • H2O : 44µL


Pspcr test.png
  • Well 1 : 15µL DNA Ladder
  • Wells 2 & 3 : PCR products amplified with the PS-PCR with oil in the wells, 15µl
  • Well 4 : PCR product amplified with the PSPCR without oil in the well, 15µl
  • Well 5 : Control PCR product amplified with a commercial thermal cycler, 5µl


Firmware (contains the hex file and its source code)

Control software (contains the source code)

Calibration software (contains the source code)

Article written by Damir