Low-cost universal soldering iron controller - Page 1
Forum section: electronics / projects

author: Sigvaldi
author_rank: Newbie
timestamp: May 29, 2025, 10:20:38 pm
content: Hi everyone,I would like to show you one of my first somehow finished projects. It's a low-cost, universal analog soldering iron controller Yttrium Y-1. I know that there are plenty of soldering iron projects already, but initially, about one year ago, this project was just an attempt to make any decently working soldering controller without using a microcontroller. After several versions it turned out that not only could it be made, but the design is also not limited to a single type of handle; it should be capable of controlling temperature of any tip that uses thermocouple to measure its temperature.One of my goals here was to make this only with jellybean components, so that it would be easy for anyone to diy it. Although MOSFET and voltage regulator used in my design aren't common at all, they can be replaced by such. It can be made on a perfboard using tht components that you have lying around.So far, I've tested it with 900M, T12 and C115 handles. All of them work without any problems, though it's especially suitable for thermocouple type K as it has nearly linear characteristics. For other thermocouple types you need to make a custom scale for potentiometer, if you want the best accuracy. I recommend using PCBs as panels as it's then very easy to make any scale.Specs:temperature control in range from 100*C to 500*Ccalibration possible in range of about +-85*Ctemperature stability +-1*C max. (tested on T12)low-cost: total BOM cost is around 2 USD (including PCB)supports three types of thermocouples: type K, T12 and type Scontroller can be powered from heater supply or separate power sourceheater supply voltage in range from 5V to 24V (up to 32V with protection diode)controller supply voltage in range from 13V to 55Voutputs for heating and power indicating diodesI wanted the controller to be easy to use, so I chose screw-type connectors for heater and heater supply. However, I had limited space, so I chose JST XH connectors for temperature regulation potentiometer, calibration potentiometer and thermocouple input, and goldpin for controller supply input and indication diodes. If someone doesn't like the JST XH connectors then it's possible to solder goldpin instead.Also, I intended calibration potentiometer to be placed on the outside of the case to make it easier to use and because if it was placed on PCB, it would be very close to AC input in my design. But for other designs there is always possibility to solder 3/8” multiturn potentiometer in place of calibration potentiometer connector (J3), as footprint is the same for both.To achieve compatibility with as many handles as possible, three different thermocouple amplifier gain values can be selected using a switch:position 1, gain 200, for thermocouple type Kposition 2, gain 400, for T12 thermocouple (nickel – kanthalD)position 3, gain 1000, for thermocouple type SIt's possible to power controller and heater with single power supply or separately. Heater can be powered with voltage as low as 5V, although to use any voltage lower than 13V it will require separate power source for the controller, as it requires at least 13V supply because of 12V voltage regulator.To power controller from the same power source as heater, place jumper between VREG and VCC pins on J9 connector. To power them separately, connect controller power source between VREG and GND pins on J9 connector. Jumper can be placed then between VCC and NC pins.Speaking of maximum heater supply voltage, it could be theoretically up to 32V, but I underestimated the problem caused by inductance of the heater. I thought it can't be that bad, and didn't add protection diode. It turns out that it's that bad, and with 24V power supply T12 heater reaches 33V peak-to-peak voltage. Even though it's very unprofessional, it works okay at voltages up to 24V without protection diode, but if someone would want to use any higher voltage to power the heater, the protection diode is definitely recommended.Problems that I stumbled upon when working on this project:One problem that I discovered fairly recently is temperature drift over time. For example, when I set temperature of T12 tip to 250*C, after maybe 20-30 minutes, it increased to 258*C. I'm guessing it's because of the components heating over time, but for now I don't know what exactly causes such significant drift.The other issue is that the soldering iron doesn't emit any sound so it's easy to forgot about it, maybe some auto turn-off circuitry would be a good idea? For T12 I could add a RC timer to turn off power after handle is not moving for some time, for JBC it would require passing additional wire to the stand. I could add these functionalities in the next revision.Last but not least problem I'm a bit concerned about is that when I set the temperature of the T12 tip to 310*C and touched a steel bar with it, surface temperature of the tip dropped to around 230*C, but the inside thermocouple voltage remained the same, meaning that it was still around 310*C. This itself would be okay, but heating power power increased from around 10% idle to only around 25% under load, which is a bit disappointing. Could the T12 tip really have such high thermal resistance? I expected it to use much more power.Also if I were to make another revision, I'd definitely add the capability to read thermocouple voltage directly from the heater connection. This would eliminate the need for an additional wire to connect the heater to the thermocouple input when using tips with integrated thermocouples.For this moment I have built three soldering stations using my controller: one for 900M, one for T12 and one for C115. They are all built in the same way as the one shown in the images. I used a 24V 3A aliexpress power supply and custom front and rear panels made from PCBs for it.I may have made some mistakes as I don't have too much experience (both in electronics and in speaking english) so I would love to hear your feedback!