element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Blog MiniThermaDrive: Fun with 3D Printer Heating Elements - Part 1
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 5 Nov 2025 4:03 PM Date Created
  • Views 134 views
  • Likes 6 likes
  • Comments 6 comments
  • MSPM0L1105
  • heat
  • MSPM0
  • easyL1105
  • thermistor
  • MiniThermaDrive
  • heater
  • MiniL1105
  • 3d-printer
Related
Recommended

MiniThermaDrive: Fun with 3D Printer Heating Elements - Part 1

shabaz
shabaz
5 Nov 2025

Table of Contents

  • Introduction
  • What can it be used for?
  • High-Level Design
  • Driver Board
  • Summary

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.

image

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.

image


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.

image

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.

image

Here’s the other side of the panel:

image

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.

image

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!

  • Sign in to reply
  • DAB
    DAB 55 minutes ago

    Nice post Shabaz.

    I remember when we used heated crystals for frequency standards.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 21 hours ago

    Tidied up the text and improved a couple of the component footprints, and the updated files are on GitHub. I got the project name wrong on the board, but it's too late, it's submitted to the PCB manufacturer now.

    This is going to be a white PCB since the case is beige.

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 1 day ago

    One other possible use-case; tempering chocolate! That needs pretty accurate temperature control so one may want to do some calibration beforehand. Also, the code would need tweaking to really focus on removing even fractional overshoot.

    I've only tried to temper chocolate a couple of times, using a basic thermometer, and I've found it hard (but luckily had success). Also learned that the times you want to temper chocolate (summer time) isn't a super ideal climate for subsequently cooling the chocolate (since most homes here are not air conditioned), so you kind of have to take a leap of faith and use the 'fridge briefly even though that could so easily ruin things.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • obones
    obones 1 day ago in reply to shabaz

    Well, I'm not thinking of a large pot either, something along 5x5x5cm as the left over PLA are small bits like supports, mouse ears or startup extrusion.

    If 150° is not the limit, then it should be able to go all the way to 300°C as specified on the product page here. And after that, it's only a matter of patience for the pot to reach the temperature...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 1 day ago in reply to obones

    The heater element I'm using is a 40W 3D printer element, so I think it will struggle to heat up a large pot unfortunately, it may take a long time. I've not checked to see if there are higher-power 12V or 24V elements. However with much higher voltage or much higher power requirement, the circuit will need changing. Also, the software algorithm is tuned/customized to support small heating targets (I'm guessing at a couple of cubic inches) so the code may need changing too. The 150 deg C isn't a hard limit though, that's all I tested. 

    image

    There may be ready-made heater controllers for mains-powered elements, that should support much higher power, and they may support using a thermocouple for the feedback, since that will provide OK-ish accuracy but over a wider temperature range. I'd be interested if you find anything, since I can see myself requiring a higher-power option at some point too.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube