Skip to main content


This section allows you to view all Topics made by this member. Note that you can only see Topics made in areas you currently have access to.

Topics - sparkybg

Project logs / Really universal soldering controller
Well, here it is, at last.


The intention was to build the most universal soldering controller I can think of. It can drive any low voltage (upto 24V) iron with thermocouple or resistive sensor, in series with the heater, or separate.

Here is a short list of features:
- power: 9-28V, AC or DC
- 2 separate heater control channels
- 2 independent sensor inputs
- current source on any sensor input 3uA - 12mA, wuth 2 bands (x1, x16) and 256 steps per band
- flexible differential amplifier input selection
- amplifier gain from 0 to 750 in 256 steps
- negative offset selection in 1024 steps
- resistive instrument identification (upto 625 different instruments can be identified by 2 resistors on the connector)
- polynomial floating point voltage/resistance to temperature calculation
- wave shaping to filter out the inductive peaks from series sensor signal
- PID control with power limit
- isolated USB port for firmware updates and live data
- 128x64 OLED display with rich user interface.

Tested so far with:
- HAKKO T12/T15 (series TC)
- HAKKO FX8801 (PTC)
- PACE TD100 (series TC)
- JBC C245 (series or separate TC)
- JBC C210 (series TC)
- JBC Microtweezers (2 separate heaters, each with series TC)
- WELLER WSP80 (PTC) (This iron was sent to me by a reader of the thread for a previous version of the controller. Thanks, Jaroslaw)
- ERSA RT80 (series PTC/heater resistance)
- various chinese cheap irons with separate TC

Here are the schematics, gerbers and software (4 April 2017):

Update (4 April 2017): The PC Software is now entirely in C#, the front end is rewritten. Now you can program only the bootloader, and then use the software for firmware updates using the USB connection. The PC software also does not crash anymore when device is unplugged and plugged in the USB or turned on/off, and automatically switches to bootloader and back when uploading new firmware. Also, a legend with checkboxes is added for every data that is displayed on the graph, so you can switch it on or off. There is still pretty much work to be done on it, but at least it is much more functional now.
Added to the firmware are Pace TD100 Black and Weller WMRT profiles, some work is done on several other places. Now the firmware handles better some irons, where there was initial overshoot when heating for the first time or changing the target temperature.

Some movies:
JBC C245: ...
JBC C210: ...
T12, JBC C210, JBC Microtweezers:
Chinese T12: ...
Weller WSP80: ...
Weller WMRT: ...

A comparison of irons/tips used in the movies:

The calibration precedure:
- Connect a resistor with well known resistance (0.1%) of around 10ohm between SENSEA and Vout1-
- Go to "CALIBRATION" submenu
- Adjust the calibration trimmer until you get value of "R" as close as possible to the resistance of the resistor, multiplied by 100 (1000 for 10ohm resistor).

On the left - calibration "fixture" with soldered 9.8ohm resistor, on the right - my connector layout:

Connections to different tips/irons:

1. HAKKO T12:
 - Outer shell, and heater negative (middle) terminal connected together to Vout1- and EARTH
 - heater positive (bottom terminal) connected to Vout1+ and SENSEA
 - 1k resistor between ID and Vout1-
 - 5.6k resistor between ID and Vout2-

2. HAKKO FX8801, HAKKO 907 (original, with PTC sensor):
- Outer shell, PTC negative  and heater negative connected to EARTH, Vout1- and SENSEB
- Heater positive connected to Vout1+
- PTC positive  connected to SENSEA
- 1k between ID and Vout1-
- 820ohm between ID and Vout2-

3. JBC C245:
 - Outer shell (green wire) connected to EARTH and SENSEB
 - Heater positive(red wire) connected to Vout1- and SENSEA
 - Heater negative(blue wire) connected to Vout1+
 - 150ohm between ID and Vout1-
 - 5.6k between ID and Vout2-

4. JBC C210:
 - Outer shell (green wire) connected to EARTH and SENSEB
 - Heater negative (middle terminal, blue wire) connected to Vout1-
 - Heater positive (smaller terminal, red wire) connected to Vout1+ and SENSEA
 - 3.0k between ID and Vout1-
 - 5.6k between ID and Vout2-

5. JBC Microtweezers:
 - Outer shell of both tips (green wire) connected to EARTH
 - Heater 1 negative (blue wire) connected to Vout1-
 - Heater 1 positive (red wire) connected to Vout1+ and SENSEA
 - Heater 2 negative (brown wire) connected to Vout2-
 - Heater 2 positive (yellow wire) connected to Vout2+ and SENSEB
 - 1.0k between ID and Vout1-

- Outer shell, PTC negative  and heater negative (white, black and brown wires) connected to EARTH, Vout1- and SENSEB
- Heater positive (blue wire) connected to Vout1+
- PTC positive (red wire) connected to SENSEA
- 120ohm between ID and Vout1-
- 5.6k between ID and Vout2-

7. ERSA RT80:
- Outer shell and Heater/PTC negative (pink and white wires) connected to EARTH, Vout1- and SENSEB
- Heater/PTC positive (black wire) connected to Vout1+ and SENSEA
- 300ohm between ID and Vout1-
- 110ohm between ID and Vout2-
Project logs / My HAKKO classic and T12/T15 soldering controller
Hi all.
T12 have thermocouple in series with the heater with a voltage of around 9mV at 450 degrees celsius, so the voltage to the heater must be turned off  to measure the voltage of the thermocouple. Don't measure the resistance of T12. It is pointless to use it when a thermocouple is already available, and is far more precise than resistance.

I have made a controller for T12 myself. Here's how it works:
- the 24V AC from transfomer is rectified but not filtered
- this rectified 24V AC is the power to the T12, and is switched on and off for a millisecond on every half period of the AC, using P channel MOSFET.
- when the voltage is turned off, the voltage of the thermocouple is available at t12 terminals, so it can be measured by an ADC in MCU
- the MCU controls the heating using slightly modified PID algothitm,  regulating how many mains periods the heater is turned on, and how many mains periods it is turned off.

The controller also works with regular irons with separate thermocouple, and have separate channels and adjustmens for T12 integrated thermocouple, and for external thermocouple. It can detect if external thermocouple is connected, and will use it. This way you can unplug the T12 iron, plug in regular iron, and the controller will detect that and regulate. The T12 tips can be changed without turning the controller off.

Here is how it looks:


I have a video on YouТube of how it works. Search for "HAKKO T15 vs ordinary HAKKO clone" and you will find it.