No magic
Stanislav Dombrovsky
Mobile Developer in the past. Former product manager in AppCode. Engineer.
· 7 min read

ProsKit SS-331 desoldering gun and KSGER T12 controller

This is a post about tuning of KSGER T12 controller for using with SS-331 desoldering gun. It’s pretty correct, but if you follow it - you’re doing it on your own risk.

Problem

So-called “affordable” desoldering guns are good enough, SS-331 may be “rather cheap” or “rather expensive”, but finally you want a compact unit with normal handle to make a desoldering. And better - with some good controller. Such options are expensive.

SS-331H handle

As of now, you can buy SS-331H handle separately. Though, there is not so much information about it from the first glance. So, pinout

  • 1 - black - termoresistor ground
  • 2 - blue - termoresistor signal
  • 3 - red - heater ground
  • 4 - red- heater vcc (24v)
  • 5, 6 - pump button pins
  • 7 - yellow - reed switch
  • green (to the case fo GX connector) - ground earth

Termoresistor is about 47 ohms (something like 47.8 ohms). I’m pretty sure it’s different, so measure it by yourself. Heater resistance is about 2ohms and be sure it will be bigger (AFAIR up to 3.5 ohms) as soon as it starts heating. What does it mean for you - it means that in case of 24v you will need some power supply that works fine with 12A spikes. Or do as me - take 12v power supply that works with 8A and don’t care about burning power outlets. Be sure - on start you will have a spike of 6A, but it fastly becames 4-3A after the initial heating. So, this “fast” would be enough to kill a wear supply. In short, take this one and forget about all this problems.

Short note about termocouple vs termoresistor

Same as me, you may be not familiar with all these “whats the difference”. So, termocouple generates small voltable - a bit of millivolts. Generates itself, without any power supply. Termoresistor generates nothing, it just changes it’s resistance. Also its readings are more rough (usually). It means that any circuit working with a termocouple won’t ever work with termoresistor - simply because it’s part reading the voltage that indicates heating expects something without any voltage supplied to the sensor. In case of termoresistor you have a zero value always. To mimic a termocouple behavitor with a termoresistor, you should do the following:

  • Measure it’s resistance with 25 degrees of celcius
  • Supply some voltage via some addon to the circuit
  • Susbstract from this voltage the voltage generated byt the initial termoresistor state
  • Divide or multiply to mimic the termocouple target voltage

Sounds complex, but in fact a single opamp is needed.

KSGER 2.1s module

Lots of people talk about different layouts, but the reality is that for now you’ll find the only one official one. It doesn’t have any zero ohm resistor or special place to support JBL. So, you will need to perform the following changes:

image

  • Cut the trace at point one (lowest part of the resistor-combo). This way you disconnet termcouple sensor from 24V+
  • Remove the R5 resistor. This one is responsible for amplifying the signal and you will need to have a headcrab part for this specific place to mimic termocouple with the termoresistor.

From termoresistor to termocouple

You need the following headcrab schematics:

image

How does it work (to make things simple):

  • You have two potentiometers that allow to tune a) signal from the termoresistor b) from the 47om reference resistor. You need the latter to substract the initial resistance of termoresistor to have the scale starting with zero.
  • Opamp just does substraction of the signal from 47om resistor from the termoresistor signal
  • Opamp output is fed to the U3 through the point 1 on R12
  • On the left there is a potentiometer we apply to U3 to tune the final amplification
  • Use 3.3V contacts from display for example. Again, use the 3.3V line.

Yes, of course, you probably can do this scheme much better. But I’m lazy and this way I could tune everything easily.

Headcrab calibration procedure

Some tips:

  • Without a dedicated termometer, you will burn something. Take one like this BEFORE YOU START.
  • Without a current-limited supply you most probably will burn something again. Take one BEFORE YOU START.
  • Get used to quick putting the KSGER controller to sleep / standby state. Do it fast.
  • Or better make a resistor divider from 47 Ohm (0 C) to 150-156 Ohm (something around 400-420C for the gun heater). And first calibrate just the termoresistor reading with the heater disconnected. Yes, it works this way.
  • “INVERT” message tells you about the negative voltage on U3 input. Don’t worry about it, though if you have it, you need to check voltages everywhere.
  • Note that the resistance of ther gun heater goes from 1.6 Ohm oh cold state (room temperature) to something around 3.5-4 Ohms with the temperature of 420C. That means that even if your 24V supply works fine after you already heated the gun to, say 300C, it will burn you controller when starting from cold when you have a spike of something like 12A.
  • Note that temperature of the gun nozzle is DIFFERENT on it’s enclosure and on the tip. It’s DIFFERENT. Measure the one on the tip. ALWAYS.

The procedure (with resistor divider that mimic our termoresistor):

  1. Assemble headrab, controller.
  2. Set your current-limited power supply to 12V.
  3. Connect 47ohm resistor to T+ and T-
  4. Set potentiometers to some value (better to, say, maximum value both)
  5. First step for you is to achieve value close to zero on the POINT 1 output with the room temperature. For that you should have equals values on T+ and headcrab R5 output coming to op amp. Don’t make this values less than a 1mv - too small. Dont’ try to achieve total zero on POINT 1 - setup something like 0.3mV. AFAIR have something like 5-6 mV on both. Though, may be you will do better than me.
  6. Check that you have no INVERT message - turn it all off, turn it on again. If having INVERT, repeat the step 5.
  7. Check the temperature displayed. Tune RP3 to have something like 25-35 C.
  8. Turn the controller off.
  9. Connect 150-156 Ohm resistor to T+ and T-
  10. Tune RP3 to have something like 400-420C
  11. Re-check with 47 Ohm. If having same values as before you’re fine. If not, find some golden values - initial value in celsius around 30-35C, maximum around 400C.
  12. Turn the controller off.
  13. Connect termoresistor (1 and 2) respectively to T+ and T-.
  14. Connect 3 and 4 to the ground on your GX aviation connector and 4 to 12v on the same connector.
  15. Put your hand on controller knob and be ready to immediately put it to sleep state by quick turning it left.
  16. Power everything on and put it to sleep state. If initial values are fine, continue. If not, find why not. Tip: if you have a floating ground like me, something like 100Ohm from the POINT 1 to ground will help you (though recalibration from the beginning will be needed probably).
  17. Set the target temperature to 150C and start heating. Measure the temperature with your termometer. If something goes wrong stop, turn off and think. Play with RP3 on the way (very carefully). If all is ok, repeat step 17 for 300C and 400C (probably until the 350 C since to achieve 400-420 you need something line 14V on your power supply). Anyway, 350 is totatlly fine.
  18. Put controller to sleep state, wait and see how the temperature goes down. The initial reading should be the same.
  19. Allow the gun to become cold and recalibrate if needed.
  20. Test, test, test and be ready to turn everything off fast on any step. Have I said this? Yes, please, be ready for that. And please be sure that your poweer supply is either current-limited or can handle up to 12V / 6A.

Pump

I took this one, you may find another one. I’ve connected it using the typical “mosfet module with optocouple” just to save some time (this one). Nobody knows how to trigger the controller to see the pump (even though it has a dedicated menu), but still you don’t need it since the SS-331 gun has a button for turning the pump on. Put it in series with 3V signal and you’r done.

Connector

AFAIK GX with 7 pins is enough if you don’t want to invent the ambient temp that means you will must change the default cable, re-crimp (yep, re-crimp and not resolder) it with the heater, and so on, and so on. I suggest not to deal with it and just don’t add ambient temperature. The tilt switch is already inside, though works so-so. But AFAIK the sleep mode turns on fine, so it works at least somehow.

How does it look

Like this, and yes, it works fine:

image

Bonus

Temperature - resistance table:

image

Temp Ohms
450 168
430 156
400 150
380 138
370 134
360 133
350 131
340 129
300 123
240 90
220 86
200 83
180 79
160 73
160 74
150 72
140 70
130 68
119 66
100 63
80 59
70 57
50 53