Relay SDT-S-112LMR + BJT C945 + Arduino

Old boards with relays that are controlled by transistor switches are an excellent source of ready-made (already calculated) relay modules for Arduino. Below is a photo of the board from the old CRT monitor SAMTRON 56E which is designated as "AN15V(M)1.1".


This board has one relay 12V/5A250V (SDT-S-112LMR) in the kinescope demagnetization circuit (degaussing system) and I found a datasheet for this monitor without much effort, so I did not have to redraw it directly from the board - I just sketched it from there as is.


The relay is controlled by a simple transistor switch with a minimal set of elements (plus a resistor in the collector wire at 47 ohms): a NPN transistor KSC945Y (marked as "C945Y"), a protective diode 1N4148 and a resistor in the base wire for 10 kilohm.

// Relay testing (blink)

  int relayPin = 4;  // Pin D4

void setup () {

  pinMode (relayPin, OUTPUT);


void loop () {

  digitalWrite (relayPin, HIGH);
  delay (1000);
  digitalWrite (relayPin, LOW);
  delay (1000);

}  // Arduino IDE 1.8.4

To test this relay module, I used a standard sketch for blinking LED through the 13th pin with a time delay of 1 second, after changing the variable name for this pin and the number of this pin. Everything is very simple here and it does not need a special detailed explanation.

Now, purely for the sake of interest, I will calculate (approximately) the saturation coefficient of the transistor that the engineer chose when designing this section of the scheme.

► 1. The load of the transistor is a relay (SDT-S-112LMR) with a coil resistance of 580 ohms (Rc1) and a resistor with a resistance of 47 ohms (Rc2). Calculate the collector current of the transistor (Ic):

Ic = Vcc/(Rc1+Rc2) = 13/(580+47) = 0.021A = 21mA (Vce(sat) => 0)

► 2. Calculate the base current (for checking - the measured value Ib = 0.4mA):

Ib = Vr/Rb = (Vin-Vbe)/Rb = (5-0.7)/10000 = 0.00043A = 0.43mA

► 3. The DC current gain (β) of the transistor (KSC945Y) is 120...240, so I take the minimum value β = 120 and calculate the saturation coefficient of the transistor (S):

Ib = S*(Ic/β) => S = (β*Ib)/Ic = (120*0.00043)/0.021 = 2.5

(!) Usually for such transistor switches it is recommended to take this value within 3...5.

For visual control of the current state of the relay module (ON/OFF), I soldered parallel to relay coil (12V) a LED with a resistor of 1 kilohm and this is not shown in the diagrams.