the question in brief is:

does tip31c transistor stay turned on when it is broken ??

I have a circuit with tip31c transistor

the board consists of sensor and RTC with Arduino.

I need to read heat every ten minutes and log them.

for low power consumption, I used the tip31c transistor in order to turn off everything (RTC and the sensor) and just turn them on when I want to read the temperature.

so every 10 minutes the Arduino will send a signal to the transistor to turn everything ON and do the job, then turn it off again ...

everything was OK..

I connected the Arduino to 5v DC source, it works properly, but I found that the RTC and a led are not being turned off !!

they always ON.

they were working well before I connect them to an external power source.

everything was turned off until I turn the transistor ON

but now they are always ON, I didn't change anything with the circuit...

I afraid that the transistor is broke

so my question is

does the tip31c stay turned ON when it is broken??

or I am missing something

this is a diagram of mi circuit:

enter image description here

  • 1
    \$\begingroup\$ Hi! Could you please add a circuit diagram? \$\endgroup\$
    – next-hack
    Oct 15 '17 at 17:34
  • \$\begingroup\$ The TIP31C seems like a terrible choice for this application of just shutting off power to a sensor. That old beast has a typical current gain of only 10. If your sensors are only using current of say under 100mA then why not use a 2N3904 (NPN) or a 2N3906 (PNP). Then see gains that would be at least 10x higher. If your current is much higher then consider a FET instead. \$\endgroup\$ Oct 15 '17 at 17:44
  • 3
    \$\begingroup\$ That's not a circuit diagram. \$\endgroup\$
    – winny
    Oct 15 '17 at 17:57
  • 1
    \$\begingroup\$ as @winny said, that's not a circuit diagram, but a foto of a screen showing a layout. It's fair to expect you're able to a) tell the difference between circuit and layout and b) be able to use the export function of your layout program or at least your operating system's screenshot utility. It's really not that hard. \$\endgroup\$ Oct 15 '17 at 18:16
  • 1
    \$\begingroup\$ ... and remember to turn off the grid when taking a screenshot of the schematic so that we can actually read it. \$\endgroup\$
    – Transistor
    Oct 15 '17 at 18:17

In your circuit, the TIP31C is an NPN and you use correctly as a low-side switch.

However this induces a big issue in your circuit: you are disconnecting the GND to part of your digital system, which is a very bad idea.

This could result in several issues:

  • When at least one pin of your MCU outputs a low voltage, then the built-in protection diodes of the RTC/SIM800L I/O pins will conduct, and these two latter devices will be actually powered through those protection diodes.
  • latch-up might also occur.

In fact, each input is protected by the diodes connected as shown in the picture below:

enter image description here

If the GND is disconnected, and the input is at 0V, the bottom diode will conduct (and power the rest of the system! - possibly being damaged too). Similarly, if VDD is disconnected, and a high level input is applied, then the top diode will conduct.

I would use a logic-level pMOSFET, that switches the VCC (instead of GND).


simulate this circuit – Schematic created using CircuitLab

When you want to power up your systems, put a logic 0 to the gate of the pMOSFET (GPIO=0). When you want to power-down your system, use the following procedure:

  • put a logic level 1 to the GPIO connected to the gate.
  • Configure all the PINS connected to the RTC and SIM800L as either input without pull-up (beware of noise coupling! Put a pull down resistors if possible!). OR configure all such PINS as output, with a 0 logic value. This will prevent your arduino from powering your system through the protection diodes


To answer your question:

  • A BJT can fail in all the possible ways (open/short), depending on what happened.
  • But probably your TIP31C is still fine, power came to the RTC through its built-in protection diodes and some output of the arduino, which was at 0V.
  • Use a high-side switch (e.g. a pMOSFET).

If for some reason you wired up something that greatly exceeded the ratings of the transistor then it is highly likely that it has failed. The two common failures of transistors:

  1. A short between collector and emitter.
  2. An open between collector and emitter.
  • \$\begingroup\$ thank you for your response. I added a diagram of my circuit, can you look at it please \$\endgroup\$
    – HSLM
    Oct 15 '17 at 17:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.