DynamicWhiteHat
added to the journal ago
Did the schematic and started PCB work
I decided to go with an ESP-32 S3 Wroom 1 module, as they are easy to implement and I already have it done from a previous project. I copy pasted and edited the following:


For the power section, I added the two bottom components on afterwards. The component on the left is a 12v barrel jack, as I intend on powering the project using a 12v 10a power supply. The IC on the right is a switching regulator intended to drop the voltage from 12v to 5v, which is then dropped to 3.3v using the LDO above. I followed the typical application circuit for this, as well as the comments and feedback from this reddit post. Afterwards, I added in the TEC (Peltier module) controller. I GPTd some ICs I could use and found the DRV8412, which is a dual-bridge motor driver. The datasheet even had a typical application circuit for TEC control, which made the design process much easier. This is what I ended up with:

This is also my first time using tantalum capacitors, and they are pretty expensive. I was also surprised at the 1000uF cap, but it makes sense since that was for the 12v line. This probably took the longest time to implement, as the application circuit was a bit hard to read and I had to compare it with my own design.
After that, I added in mosfets for controlling the fan and kapton heater, which look like this:

Then, I added the thermistors in (I forgot where I got the resistor values)

And finally some solder holes for connecting a SSD1306 and rotary encoder:

The LED below is for heating status.
Then, I began placing the components on my PCB. I started with the reddit post from earlier to lay out my 12v switching regulator, which looks like this:

This was the best layout according to the spec sheet. I then placed the DC jack, USB connector, and ESP32. Afterwards, I used the spec sheet for the DRV8412 for placing the capacitors and other parts. This is what I have:

I placed the components on the back side to make routing easier (I realize now that that doesn't make much of a difference, but I've already started routing so I'll keep it)
Finally, I placed the rest of the small components and ended up with this:

DynamicWhiteHat
added to the journal ago
More research and started design
Today I did some more research into understanding how to read the datasheet of a peltier module. I was trying to use a calorimetry formula I learned in chemistry class to figure out the maxiumum mass of the aluminum that holds the PCR tubes. However, the issue that I kept running into was that there was no specific wattage (Qc) that gets output by the PCR, as it is dependent upon the temperature difference between the two sides. The following graph is what I used for my calculation:

I somehow managed to stumble upon a very good peltier module for relatively cheap, as even the more expensive ones don't output as much Qc as this one at the higher temperatre differences. I did my calculation based on the worst-case sceneario, which took me a while to figure out, as I was confused on how these numbers on the datasheet worked. The worst case sceneario is the following: Hot side at 95 C, cold side at ambient/room temperature (assume 20 C). That would mean a temperature difference of 70 C. Using the graph, you can see that the Qc during the worst case sceneario would be 20W, which is pretty high. I then inputted these numbers into a modified ramp-rate formula to calculate the mass of the aluminum: Qc = (mcT)/t, where m is the mass, c is the specific heat capacity, T is the temperature change, and t is the time change. I assumed a temperature change of 4 degrees C per second, and I got the mass to be 5.6g. However, this was a very hard number to work with, so I decided to try 3 degrees C per second, which got me 7.4g. I started the CAD with this in mind, and I was able to get it down to 9 g. This is the PCR tube holder:

I extruded the bottom as a new body and turned that into the Peltier module using the dimensions from the datasheet:

Then, I worked on the heatsink. I started by extruding the Peltier module as a new body, then drawing ten 1mm fins on the bottom to help dissipate heat. I extruded these fins by 20mm, which looks like this:

Finally, I found a 30x30x10 mm fan online to help cool the heatsink, which will allow me to reach different temperatures quicker. Then, I added a quick case around the bottom, which I still need to work on. This is everything assembled:


DynamicWhiteHat
added to the journal ago
Research
I did some reasearch into making a PCR machine today. I began by looking on Slack to see if anyone had made one before. I found that @wormmeatapple had made one before for Highway, so I took a look at his repository to understand how it worked. His model, pictured below, helped me understand how the DNA sample is heated and cooled.

After doing some more research, I found PocketPCR, which is another open-source PCR machine made by GaudiLabs. However, one thing I noticed that was common in both PCR machines was that they both used capacitive heating elements to heat their DNA samples. One issue with this is that they are slow and not very precise, so I did some more research into this. A lot of the cheaper, DIY PCR machines use resistive heating elements instead of Peltier modules, which are used in high-end PCR machines. I also found this PCR machine that looks very nice and has a heated top to prevent evaporation of the sample. I will use this for my reference design.
Credit to @wormmeatapple for the image
DynamicWhiteHat
started OpenPCR ago
1/1/2026 - Research
I did some reasearch into making a PCR machine today. I began by looking on Slack to see if anyone had made one before. I found that @wormmeatapple had made one before for Highway, so I took a look at his repository to understand how it worked. His model, pictured below, helped me understand how the DNA sample is heated and cooled.

After doing some more research, I found PocketPCR, which is another open-source PCR machine made by GaudiLabs. However, one thing I noticed that was common in both PCR machines was that they both used capacitive heating elements to heat their DNA samples. One issue with this is that they are slow and not very precise, so I did some more research into this. A lot of the cheaper, DIY PCR machines use resistive heating elements instead of Peltier modules, which are used in high-end PCR machines. I also found this PCR machine that looks very nice and has a heated top to prevent evaporation of the sample. I will use this for my reference design.
Credit to @wormmeatapple for the image
1/5/2026 - More research and started design
Today I did some more research into understanding how to read the datasheet of a peltier module. I was trying to use a calorimetry formula I learned in chemistry class to figure out the maxiumum mass of the aluminum that holds the PCR tubes. However, the issue that I kept running into was that there was no specific wattage (Qc) that gets output by the PCR, as it is dependent upon the temperature difference between the two sides. The following graph is what I used for my calculation:

I somehow managed to stumble upon a very good peltier module for relatively cheap, as even the more expensive ones don't output as much Qc as this one at the higher temperatre differences. I did my calculation based on the worst-case sceneario, which took me a while to figure out, as I was confused on how these numbers on the datasheet worked. The worst case sceneario is the following: Hot side at 95 C, cold side at ambient/room temperature (assume 20 C). That would mean a temperature difference of 70 C. Using the graph, you can see that the Qc during the worst case sceneario would be 20W, which is pretty high. I then inputted these numbers into a modified ramp-rate formula to calculate the mass of the aluminum: Qc = (mcT)/t, where m is the mass, c is the specific heat capacity, T is the temperature change, and t is the time change. I assumed a temperature change of 4 degrees C per second, and I got the mass to be 5.6g. However, this was a very hard number to work with, so I decided to try 3 degrees C per second, which got me 7.4g. I started the CAD with this in mind, and I was able to get it down to 9 g. This is the PCR tube holder:

I extruded the bottom as a new body and turned that into the Peltier module using the dimensions from the datasheet:

Then, I worked on the heatsink. I started by extruding the Peltier module as a new body, then drawing ten 1mm fins on the bottom to help dissipate heat. I extruded these fins by 20mm, which looks like this:

Finally, I found a 30x30x10 mm fan online to help cool the heatsink, which will allow me to reach different temperatures quicker. Then, I added a quick case around the bottom, which I still need to work on. This is everything assembled:


1/18/2026 - Did the schematic and started PCB work
I decided to go with an ESP-32 S3 Wroom 1 module, as they are easy to implement and I already have it done from a previous project. I copy pasted and edited the following:


For the power section, I added the two bottom components on afterwards. The component on the left is a 12v barrel jack, as I intend on powering the project using a 12v 10a power supply. The IC on the right is a switching regulator intended to drop the voltage from 12v to 5v, which is then dropped to 3.3v using the LDO above. I followed the typical application circuit for this, as well as the comments and feedback from this reddit post. Afterwards, I added in the TEC (Peltier module) controller. I GPTd some ICs I could use and found the DRV8412, which is a dual-bridge motor driver. The datasheet even had a typical application circuit for TEC control, which made the design process much easier. This is what I ended up with:

This is also my first time using tantalum capacitors, and they are pretty expensive. I was also surprised at the 1000uF cap, but it makes sense since that was for the 12v line. This probably took the longest time to implement, as the application circuit was a bit hard to read and I had to compare it with my own design.
After that, I added in mosfets for controlling the fan and kapton heater, which look like this:

Then, I added the thermistors in (I forgot where I got the resistor values)

And finally some solder holes for connecting a SSD1306 and rotary encoder:

The LED below is for heating status.
Then, I began placing the components on my PCB. I started with the reddit post from earlier to lay out my 12v switching regulator, which looks like this:

This was the best layout according to the spec sheet. I then placed the DC jack, USB connector, and ESP32. Afterwards, I used the spec sheet for the DRV8412 for placing the capacitors and other parts. This is what I have:

I placed the components on the back side to make routing easier (I realize now that that doesn't make much of a difference, but I've already started routing so I'll keep it)
Finally, I placed the rest of the small components and ended up with this:
