In the article Electronic Thermometers for Brewers Ken Schwartz talks about how to use a 2N4401 to create a diode thermometer:


I attempted a similar setup with a BC547 transistor ( BC547 Transistor NPN 45V 0.1A ) but I'm not having any luck with it. According to the BC547 datasheet the emitter and collector are opposite from the drawing above, but I tried both ways and neither one seems to work. They both seem to be the exact same. is there actually a 'correct' way in this setup or will either one work if the transistor is not bipolar?

After connecting the B&C I measured resistance with my Fluke and got roughly 55M ohms. I thought that I understood the theory of what was going on, but now I'm not so sure. I was thinking that the transistor was acting as a variable resistor that if it was connected between a fixed resistor then the setup could act as a variable voltage divider, which could provide a voltage that could be measured and the temperature calculated.

I tested this theory but got the same readings for voltage with both a 47K and 47M resistor and so I figured this was perhaps not how this configuration works. The voltage was around 0.6V when using a 3V3 power supply.

When connected to the Fluke meter the resistance does appear to vary with temperature (holding the transistor for instance) it changes between 55M Ohms at room temperature to 45M Ohms.

  • Will the BC547 work for this setup?
  • How does this setup work (if it is not as a variable voltage divider)?

Possible datasheet links:

https://www.fairchildsemi.com/datasheets/2N/2N4401.pdf http://arduino.cc/documents/datasheets/BC547.pdf

  • \$\begingroup\$ Are you actually trying to measure the voltage or the resistance? You say you measured 55Mohms but you should be measuring voltage as your output. You're just measuring the diode voltage drop from B to E, which varies with temperature. \$\endgroup\$
    – Null
    Nov 10 '14 at 19:44
  • 1
    \$\begingroup\$ You don't need the battery and resistor. Just switch your multimeter to Diode Test, then it will use a similar internal circuit to show the Base-Emitter voltage drop. \$\endgroup\$ Nov 10 '14 at 20:02

A diode (or a transistor connected as a diode as you have) does not behave like a resistor. Rather it has a voltage drop that doesn't change much with current, and has a slight negative temperature coefficient.

If you use the recommended 47K resistor (passing about 180uA through the diode), then the voltage drop should be around 600mV and change about -2mV/°C.

If you hold it in your hand you might heat it by 5°C and it would change by perhaps -10mV from (say) 612mV to 602mV (a small change percentage-wise). If you're getting ~600mV at room temperature, it's almost surely working correctly.

The leakage current (what you are measuring on a high-resistance range) also changes with temperature, but it is not considered a reliable way to measure temperature.

A transistor connected as a diode is actually more "ideal" diode than a real diode- the ideality coefficient is close to 1 vs. more like 2 for a typical rectifier diode or switching diode.

The BC547 and 2N4401 work quite well in this application because they have low base resistance (better than, say, an RF transistor would work).

The relatively large signal (-2mV/°C) can be traded off by comparing the voltage across a transistor at two different currents (or two tightly matched transistors operating at different currents) and this is how many monolithic temperature sensors work. You get only about 1/10 the signal (200uV/°C) but that's still plenty, and the unit-to-unit variation is very low. This method is used to measure CPU die temperature in computers.


Any bipolar transistor with collector connected to base can be used to measure temperature. No, it's not really a temperature-variable resistor. It's more like a temperature-variable voltage source assuming some minimum current is passed thru it.

With C and B shorted, the transistor looks electrically much like a diode. To use it as a temperature transducer, pass a fixed amount of current thru it and measure the voltage. For example, if you have a 5 V supply, you can connect a 4.3 kΩ resistor in series with the transistor. That will cause about 1 mA to flow thru the transistor. That current will vary slightly as a function of the B-E voltage, but that is itself a function of temperature. The result is that as long as the 5 V source remains constant, the voltage across the transistor is just a function of temperature.

For a NPN transistor, B-C is the positive connection and E the negative. For a PNP, E is the positive connection and B-C the negative. Either should work about as well as a temperature sensor.

Of course there are ICs that exploit this effect and give you a nice linear temperature voltage or digital value. There are also thermistors that are temperature-variable resistors. There are lots of ways of making electronic temperature transducers.


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.