Close
0%
0%

Reflow soldering hotplate

DIY hot plate based on ESP32 and a heater made from the PCB itself

Similar projects worth following
An idea for DIY, ~60W, hot plate with wide input range (12 - 24V) and HMI based on OLED screen and rotary encoder with push button. Targeting reflow soldering for low-melting point solders (~140 °C), but can potentially go up to about 190 °C .

I've recently gotten into making PCBs at home and with that, came the need of mounting SMD components. Sure, I could suck it up and just hand solder those 5 boards a year I will probably be making, but where the fun in that? Instead, I wanted to get a hotplate to make the job easier.

Looking at the commercial ones, they are great, but not something I can justify purchasing considering the low volume I'm running with. However, internet offers a couple of pretty nice DIY solutions. Just here on hacakday, there's some really nice projects I got inspired by:

But as is the nature of DIY, you start with something someone else has done, and take it your way to accommodate your needs and most importantly, the parts you have available. So without any further ado, this is my version of DIY hotplate.

Specification

  • Wide input voltage 12V - 24V
  • Heating power of 50W - 70W (depending on input voltage)
  • max plate temperature: 200 ºC (tested so far with 19V input)
  • Heat up time: TBD

Design

Heater

I wanna start the design with the centerpiece of this device, namely the heating element. There's a lot of good way to make a decent heater for hotplate and I probably picked the worst one - an FR4 PCB, whose top layer has been routed into a long wire acting like a heater. But the reason is simple - the design works for lower temperatures where I intend to operate, and I have the capabilities to make PCBs at home, which means no extra costs. But I do intend it to fail at some point and have some ideas for improvements - but more on that in the project logs. Here, we talk the build :)

I went through the trouble of coating the board with soldermask, but that turned out to be a waste. Few heating cycles and soldermask started to chip off. To be on the safe side, the board got a layer of kapton tape. To help distribute the heat more evenly, I slapped a slab of aluminum on top of the heater - right after applying a nice coat of thermal paste. The thermal past specifies continuous use temperature of 150ºC so I'm curious to see long term effect.

Aluminum plate is milled from a 5mm plate with a small slot for a PT100 temperature sensor, and the temperature sensor is fixed with the help of some high-temperature silicon, while the tip of the sensor is brought in contact with the aluminum, and the whole connection again bathed in thermal paste.

Electronics

Electronic design started pretty simple, but then a couple of "fun" features snaked in as well. Both the schematic and kicad project can be found in the github repository attached to this project. But to give a short overview, there's a 5V buck converter built around RT6200 (using their reference schematic, with exception of diodes), connectors for OLED screen and rotary push button, no big surprises there. But then I went with Wheatstone bridge for PT100 for which I thought it would be fun to have a 3V zener voltage reference for no particular reason except that I've never done it before and really wanted to try it out.

On the list of "definitely unnecessary" is INA250-based current monitor, allowing for monitoring of just how much power is eaten up by the heater. But I had one lying around, so why not?

To drive the heater, I picked a simplest way of driving with a recommendation of some resistors from a friend of mine. I opted to not use a gate driver circuit, mostly because I wanted to keep things simple and could live with having a very low PWM frequency of sub-1Hz to drive the FET.

Oh, and there's also a a connector for a fan, because I thought it would help with the temperature of internals to have a fan blow some air in. It might also help cool down the plate faster after use. It's intended to run PC fans,...

Read more »

Casing v12.f3d

fusion - 389.61 kB - 02/06/2025 at 18:08

Download

  • 1 × ESP32C3 supermini
  • 1 × 0.91" OLED I2C display
  • 1 × Rotary encoder with push button
  • 1 × 12V-24V to 5V buck converter
  • 1 × INA250 current sensor

View all 9 components

  • The what? and The how?

    Vedran02/04/2025 at 20:35 0 comments

    What?

    Before digging into a project, it's worth thinking about what this thing is and its basic building blocks. What does a hotplate as a product need to do its thing? 

    Well, the centerpiece is the heater, a resistive heating element. As the name implies, it's a relatively short piece of wire with low resistance that gets heated up as the current pass through. 

    Something then needs to supply the current to it. And something else switch the current on and off to control when we're heating and when cooling. This in principle is a working hotplate, you plug the power, turn the switch on and it heats up. Looking at when the solder paste on top of it melts is enough to know when to cut the power. (yes, yes there are heating profiles, but for the most parts...)

    However, we can get more fancy and add a temperature sensor to get real-time temperature feedback. If a smart device, say a microcontroller, reads that sensors and and can control the switch, we get a closed loop temperature-controlled hot plate. So fancy. 

    At this point, we have a temperature controlled heat plate but who decides to what temperature it should heat up and when? Well, the user. And users are often demanding in a way that they need some sort of interface because they simply refuse to flash in a new firmware every time they require a new setpoint, duh! :D

    Okay, a user interface. But what does that entail? If we agree that the main user of this device is a human, we would need a way for it to input the temperature, and get a feedback on the current state of the device (e.g. heating, cooling, temperature reached ...).

    Finally, all of this should, ideally, be placed in some kind of casing to hide the wires and electronics and make it easily portable.

    How?

    With the basic building blocks in place, it's time to connect them. The overall design is outlined on the picture below

    To feed the device, I opted out for an external power supply with barrel jack connector and for better flexibility went with wide voltage range (12V - 24V).

    I recently started plying with some ESP32-C3 superminis and they seemed perfect for this project - so I picked them as a controller for this project. This then mandates a step-down voltage converter from any supported input to at least 5V.

    Temperature sensing can be done in many ways, and I went with a slightly unusual choice for hobby projects, a PT100 sensors, increasing its resistance with temperature. I did that instead of something like LM35 purely to support the full operating range of this device. While LM35 cannot go higher than 150C, PT100 can easily go over 300C - way past what this hotplate

    To read the temperature sensors, I considered both a simple voltage divider and a wheatstone bridge. Ended up with slightly complicated whatstone bridge but it gets the job done.

    As for the user interface, I initially considered a small OLED and 2 push buttons, but eventually settled on OLED screen and a rotary encoder with built in push button - I absolutely love those. They help create (in my opinion) a very intuitive interface while being only a mild pain in the ass to work with from the firmware point of view. 

    And finally, for the casing, I settled on 3D printed case with some sleek lines. I split it into 3 parts for easier printing and component mounting.

View project log

  • 1
    Bottom assembly

    First part of the assembly is attaching the fan, electronics and heating element to the bottom plate.

    To make the whole assembly a bit heavier, I decided to pour some concrete I printed some anchors and a replica of a PCB to keep the spacing between the anchors. I also found some scrap metal to put into the concrete base. The concrete also acts as a glue keeping everything on the base plate together.

    Heating element is attached to 4 M3x50 screws, and the PCB replica is bolted via 4 M3x8 to the anchors in the concrete. Fan is bolted to the back of the casing using the 2 holes. A piece of masking tape prevent concrete from seeping through the fan holes.

  • 2
    Electronics assembly

    Electronics assembly is relatively straight forward. All components are mounted on the PCB.

    The OLED screen and a rotary encoder are mounted on the small HMI plate. While the rotary encoder has a nut for securing it in place, OLED screen is held in place with few blobs of hot glue. the HMI plate can then be installed into the top half of the casing.

    (don't have a separate picture of only this part of assembly)

  • 3
    Bolting things onto the bottom plate

    After about 2 days of drying, bottom plate with concrete is ready. The PCB can be bolted on.

View all 5 instructions

Enjoy this project?

Share

Discussions

Nikola Manolov wrote 02/04/2025 at 20:20 point

Uh i love this project. Is that an aluminium PCB you are using for the heater element? 

  Are you sure? yes | no

Vedran wrote 02/04/2025 at 20:37 point

Thanks, but I'll have to disappoint :D It's a regular PCB with a layer of kapton tape, glued to the aluminum block with some thermal paste

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates