Table of Contents
Introduction
Ever wanted to heat something to a precise temperature? I have, but I initially didn’t know how to go about it.
3D printer spares are quite cheap, and, although I don’t own a 3D printer, I decided to order a cheap replacement heater element and temperature sensor (thermistor) from Amazon, to try to see if I could make use of them!
This short blog shows the first part of the hardware, just the first printed circuit board (this is a two-PCB project). There will be a Control Board and a Driver Board. I only cover the latter, i.e., the heater driver board, in this blog.
This is a joint project with Jan Cumps, with the various bits of software all created over a couple of weeks, working in our spare time. If you're interested in more of the background detail, search the site for the tag MSPM0, and there are lots of blogs showing how all the software sub-systems were developed.

What can it be used for?
The end aim was to heat up metal punches for making imprints onto leather, but the project is fairly general-purpose. A friend mentioned it could be used to heat up the bed of 3D printers too, for instance. This project could be used to heat up anything with a small volume (say a few cubic inches) to user-selectable temperatures up to say 150 degrees C. It could also be used for melting and tempering chocolate! For anything much larger, or for higher temperatures, the heater or the circuit or the algorithm (which will run on the control board, not covered in this Part 1 blog) would need to be adjusted.
High-Level Design
The diagram below shows what the solution will roughly look like. There will be a potentiometer to set the desired temperature, and a microcontroller will pulse power into the heating element using a MOSFET. The thermistor will be mounted close to the heater, and it will supply feedback to the microcontroller, so that the temperature can be kept stable using software control.
In the prototype photo at the top of the blog, you can see that the heater element and thermistor have been inserted into an aluminium block (which would either be the thing you’re trying to heat, or could be attached or pressed against the thing you’re trying to heat). The MOSFET is not visible in the photo, it was soldered to the underside in that prototype.
A small TFT screen can be used to display the potentiometer set temperature, and the actual temperature as measured by the thermistor.

As mentioned earlier, the hardware will be split up into two parts; this blog will simply cover the driver board.
Driver Board
The diagram here shows what will be constructed. The circuit simply powers a heater using a MOSFET, so that 3.3V or 5V logic levels can be used to turn on the heater. The 24V DC input is also converted down to about 5V, so that it can be used to power the control board. An 8-pin JST connector is used to attach to the control board (I used this connector because ready-made interconnect cables are easily available at low cost from Amazon, so there’s no crimping tools or effort required.
For the heater and thermistor connection, there’s no standard that I’m aware of (I don’t own any 3D printers to confirm!), so I decided to use a low-cost latching 4-way connector.

To simplify construction, the driver board performs double-duty as an end panel too, as shown below. This is not generally a wise thing, since there can be stresses when connectors are inserted or removed! However, I think it’s OK for this hobby project, and if there is any issue, then the connectors could simply be mounted on longer wires, onto a separately drilled front panel in the future.
The driver board will fit in a standard Hammond case or a Multicomp case, or an enclosure could be 3D-printed. The standard cases are unnecessarily large, so a 3D-printed case would be preferable. This project doesn’t have size constraints, so personally, I’m OK with using the ready-made case.

Here’s the other side of the panel:

The PCB trace layout is shown here, there are traces only on one side, to keep the other side looking like a front panel. All components used are large, so that the board is very easy to hand-solder.

The KiCad files and Gerber files for the project are available at the MiniThermaDrive GitHub repository. If you wish to replicate the project, then the Gerber files can be submitted to any PCB manufacturer. The PCB is not currently tested, so please don’t assume it is error-free.
Summary
A small heating system has lots of applications for industrial and hobby purposes. 3D printer heating elements are available as spares at low cost, and this project aims to make use of them for user-configurable temperature settings. The driver board described in the blog post serves to power the heating element based on a logic-level signal from a microcontroller (which will be discussed in the next blog post). Any microcontroller could be used to control this driver board.
The project files are available at the MiniThermaDrive repository.
Thanks for reading!